/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:52:30,289 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:52:30,290 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:52:30,317 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:52:30,317 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:52:30,318 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:52:30,319 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:52:30,320 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:52:30,321 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:52:30,321 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:52:30,322 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:52:30,323 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:52:30,323 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:52:30,324 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:52:30,324 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:52:30,325 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:52:30,326 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:52:30,326 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:52:30,330 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:52:30,335 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:52:30,339 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:52:30,342 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:52:30,344 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:52:30,346 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:52:30,347 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:52:30,348 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:52:30,348 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:52:30,348 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:52:30,349 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:52:30,349 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:52:30,349 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:52:30,350 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:52:30,350 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:52:30,350 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:52:30,351 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:52:30,351 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:52:30,352 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:52:30,352 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:52:30,352 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:52:30,352 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:52:30,353 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:52:30,359 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:52:30,360 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:52:30,369 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:52:30,370 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:52:30,370 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:52:30,370 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:52:30,370 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:52:30,370 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:52:30,371 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:52:30,371 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:52:30,371 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:52:30,372 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:52:30,372 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:52:30,372 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:52:30,372 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:52:30,372 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:52:30,522 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:52:30,534 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:52:30,536 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:52:30,536 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:52:30,537 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:52:30,537 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c [2022-04-28 12:52:30,579 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66ac3bbc4/55b0e00b95114a60a233d7e25995c9fa/FLAGd7f6a9fd4 [2022-04-28 12:52:30,940 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:52:30,940 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c [2022-04-28 12:52:30,945 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66ac3bbc4/55b0e00b95114a60a233d7e25995c9fa/FLAGd7f6a9fd4 [2022-04-28 12:52:30,958 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66ac3bbc4/55b0e00b95114a60a233d7e25995c9fa [2022-04-28 12:52:30,959 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:52:30,962 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:52:30,963 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:52:30,963 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:52:30,966 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:52:30,966 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:52:30" (1/1) ... [2022-04-28 12:52:30,967 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@277548c8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:30, skipping insertion in model container [2022-04-28 12:52:30,967 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:52:30" (1/1) ... [2022-04-28 12:52:30,971 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:52:30,982 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:52:31,145 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_unwindbound10.c[538,551] [2022-04-28 12:52:31,156 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:52:31,161 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:52:31,167 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_unwindbound10.c[538,551] [2022-04-28 12:52:31,172 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:52:31,179 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:52:31,180 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31 WrapperNode [2022-04-28 12:52:31,180 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:52:31,180 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:52:31,180 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:52:31,181 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:52:31,187 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,187 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,190 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,190 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,194 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,197 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,197 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,198 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:52:31,199 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:52:31,199 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:52:31,199 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:52:31,200 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (1/1) ... [2022-04-28 12:52:31,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:52:31,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:31,232 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:52:31,249 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:52:31,258 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:52:31,258 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:52:31,258 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:52:31,258 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:52:31,258 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:52:31,259 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:52:31,259 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:52:31,259 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:52:31,259 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:52:31,259 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:52:31,259 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 12:52:31,260 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:52:31,260 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:52:31,260 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:52:31,260 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:52:31,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:52:31,262 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:52:31,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:52:31,262 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:52:31,262 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:52:31,307 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:52:31,308 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:52:31,432 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:52:31,436 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:52:31,437 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:52:31,438 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:52:31 BoogieIcfgContainer [2022-04-28 12:52:31,438 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:52:31,439 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:52:31,439 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:52:31,441 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:52:31,441 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:52:30" (1/3) ... [2022-04-28 12:52:31,441 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@55730a8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:52:31, skipping insertion in model container [2022-04-28 12:52:31,442 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:52:31" (2/3) ... [2022-04-28 12:52:31,442 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@55730a8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:52:31, skipping insertion in model container [2022-04-28 12:52:31,442 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:52:31" (3/3) ... [2022-04-28 12:52:31,442 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound10.c [2022-04-28 12:52:31,451 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:52:31,451 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:52:31,476 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:52:31,479 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@7db58307, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5fffc339 [2022-04-28 12:52:31,480 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:52:31,484 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:52:31,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 12:52:31,489 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:31,489 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:31,489 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:31,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:31,492 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-28 12:52:31,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:31,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1747331388] [2022-04-28 12:52:31,504 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:31,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-28 12:52:31,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:31,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1951124828] [2022-04-28 12:52:31,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:31,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:31,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:31,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:52:31,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:31,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-28 12:52:31,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:52:31,699 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 12:52:31,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:52:31,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:31,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:52:31,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:52:31,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:52:31,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 12:52:31,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:52:31,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-28 12:52:31,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:52:31,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 12:52:31,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-28 12:52:31,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-28 12:52:31,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:52:31,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:52:31,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:52:31,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:52:31,721 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 12:52:31,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-28 12:52:31,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 12:52:31,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 12:52:31,722 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-28 12:52:31,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:52:31,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:52:31,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:52:31,723 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:52:31,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:31,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1951124828] [2022-04-28 12:52:31,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1951124828] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:31,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:31,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:52:31,726 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:31,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1747331388] [2022-04-28 12:52:31,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1747331388] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:31,726 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:31,726 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:52:31,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1573767851] [2022-04-28 12:52:31,727 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:31,730 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 12:52:31,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:31,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:31,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:31,766 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:52:31,766 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:31,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:52:31,782 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:52:31,784 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:31,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:31,951 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-28 12:52:31,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:52:31,951 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 12:52:31,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:31,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:31,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 12:52:31,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:31,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 12:52:31,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-28 12:52:32,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,084 INFO L225 Difference]: With dead ends: 66 [2022-04-28 12:52:32,084 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 12:52:32,086 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:52:32,088 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:32,088 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:52:32,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 12:52:32,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-28 12:52:32,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:32,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,109 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,109 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:32,113 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:52:32,113 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:52:32,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:32,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:32,114 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 12:52:32,114 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 12:52:32,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:32,117 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:52:32,117 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:52:32,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:32,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:32,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:32,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:32,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:52:32,121 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-28 12:52:32,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:32,121 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:52:32,122 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:52:32,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,156 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:52:32,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 12:52:32,157 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:32,157 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:32,157 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:52:32,157 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:32,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:32,158 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-28 12:52:32,158 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:32,158 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1467397988] [2022-04-28 12:52:32,159 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:32,159 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-28 12:52:32,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:32,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [362183660] [2022-04-28 12:52:32,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:32,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:32,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:32,219 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:52:32,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:32,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-28 12:52:32,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:52:32,226 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 12:52:32,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:52:32,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:32,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 12:52:32,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 12:52:32,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:52:32,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 12:52:32,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {314#true} call ULTIMATE.init(); {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:52:32,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-28 12:52:32,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:52:32,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 12:52:32,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-28 12:52:32,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {314#true} is VALID [2022-04-28 12:52:32,232 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {314#true} is VALID [2022-04-28 12:52:32,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 12:52:32,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 12:52:32,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 12:52:32,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 12:52:32,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {314#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {323#(= main_~q~0 0)} is VALID [2022-04-28 12:52:32,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {323#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 12:52:32,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 10);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 12:52:32,235 INFO L272 TraceCheckUtils]: 14: Hoare triple {323#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:52:32,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {324#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {325#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:52:32,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-28 12:52:32,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-28 12:52:32,236 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:52:32,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:32,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [362183660] [2022-04-28 12:52:32,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [362183660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:32,237 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:32,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:52:32,237 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:32,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1467397988] [2022-04-28 12:52:32,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1467397988] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:32,237 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:32,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:52:32,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [127585865] [2022-04-28 12:52:32,238 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:32,238 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 12:52:32,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:32,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,251 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,251 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:52:32,251 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:32,252 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:52:32,252 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:52:32,252 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:32,567 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-28 12:52:32,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:52:32,567 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 12:52:32,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:32,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:52:32,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:52:32,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 12:52:32,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,641 INFO L225 Difference]: With dead ends: 47 [2022-04-28 12:52:32,641 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 12:52:32,641 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:52:32,644 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:32,645 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:52:32,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 12:52:32,656 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-28 12:52:32,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:32,657 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,657 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,659 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:32,666 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 12:52:32,667 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 12:52:32,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:32,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:32,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 12:52:32,671 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 12:52:32,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:32,673 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 12:52:32,673 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 12:52:32,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:32,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:32,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:32,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:32,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:32,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-28 12:52:32,675 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-28 12:52:32,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:32,675 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-28 12:52:32,675 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 12:52:32,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-28 12:52:32,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,709 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-28 12:52:32,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-28 12:52:32,709 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:32,710 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:32,710 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:52:32,710 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:32,710 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:32,710 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-28 12:52:32,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:32,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [90099444] [2022-04-28 12:52:32,711 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:32,711 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-28 12:52:32,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:32,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [603890615] [2022-04-28 12:52:32,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:32,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:32,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:52:32,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [451375076] [2022-04-28 12:52:32,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:52:32,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:32,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:32,740 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:52:32,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:52:32,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:52:32,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:52:32,795 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:52:32,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:32,807 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:52:32,966 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-28 12:52:32,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {593#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:32,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {635#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {594#false} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 10);havoc #t~post7; {594#false} is VALID [2022-04-28 12:52:32,973 INFO L272 TraceCheckUtils]: 16: Hoare triple {594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {594#false} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-28 12:52:32,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-28 12:52:32,974 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:52:32,974 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:52:32,974 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:32,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [603890615] [2022-04-28 12:52:32,974 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:52:32,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [451375076] [2022-04-28 12:52:32,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [451375076] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:32,974 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:32,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:52:32,975 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:32,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [90099444] [2022-04-28 12:52:32,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [90099444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:32,975 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:32,975 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:52:32,975 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1377212965] [2022-04-28 12:52:32,975 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:32,976 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 12:52:32,976 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:32,976 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 12:52:32,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:32,992 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:52:32,992 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:32,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:52:32,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:52:32,993 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 12:52:33,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,054 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-28 12:52:33,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:52:33,054 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 12:52:33,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:33,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 12:52:33,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 12:52:33,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 12:52:33,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 12:52:33,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-28 12:52:33,096 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 12:52:33,097 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:52:33,097 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 12:52:33,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:52:33,098 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:33,099 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:52:33,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 12:52:33,107 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 12:52:33,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:33,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,108 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,108 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,110 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 12:52:33,110 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:52:33,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:33,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:33,111 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 12:52:33,111 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 12:52:33,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,112 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 12:52:33,112 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:52:33,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:33,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:33,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:33,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:33,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-28 12:52:33,114 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-28 12:52:33,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:33,114 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-28 12:52:33,115 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 12:52:33,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-28 12:52:33,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:33,148 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 12:52:33,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:52:33,148 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:33,148 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:33,169 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:52:33,364 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:33,365 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:33,365 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:33,365 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-28 12:52:33,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:33,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1804448551] [2022-04-28 12:52:33,366 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:33,366 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-28 12:52:33,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:33,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1369974137] [2022-04-28 12:52:33,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:33,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:33,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:33,416 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:52:33,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:33,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-28 12:52:33,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,421 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 12:52:33,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:52:33,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:33,424 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:52:33,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:52:33,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 12:52:33,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 12:52:33,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:33,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:52:33,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:52:33,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:52:33,432 INFO L272 TraceCheckUtils]: 0: Hoare triple {912#true} call ULTIMATE.init(); {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:52:33,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-28 12:52:33,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 12:52:33,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-28 12:52:33,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {912#true} is VALID [2022-04-28 12:52:33,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {912#true} is VALID [2022-04-28 12:52:33,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:52:33,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:52:33,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 12:52:33,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:52:33,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:52:33,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:52:33,435 INFO L272 TraceCheckUtils]: 14: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {912#true} is VALID [2022-04-28 12:52:33,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 12:52:33,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 12:52:33,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 12:52:33,436 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:52:33,436 INFO L272 TraceCheckUtils]: 19: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {926#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:52:33,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {926#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {927#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:52:33,437 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-28 12:52:33,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-28 12:52:33,437 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 12:52:33,438 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:33,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1369974137] [2022-04-28 12:52:33,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1369974137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:33,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:33,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:52:33,438 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:33,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1804448551] [2022-04-28 12:52:33,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1804448551] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:33,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:33,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:52:33,439 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [108341474] [2022-04-28 12:52:33,439 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:33,439 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:52:33,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:33,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:52:33,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:33,454 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:52:33,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:33,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:52:33,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:52:33,454 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:52:33,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,780 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 12:52:33,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:52:33,781 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:52:33,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:33,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:52:33,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:52:33,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:52:33,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 12:52:33,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 12:52:33,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:33,844 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:52:33,844 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:52:33,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:52:33,845 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:33,845 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:52:33,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:52:33,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-28 12:52:33,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:33,857 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,857 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,858 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,859 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 12:52:33,860 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:52:33,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:33,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:33,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 12:52:33,860 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 12:52:33,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:33,862 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 12:52:33,862 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:52:33,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:33,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:33,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:33,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:33,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:52:33,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-28 12:52:33,864 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-28 12:52:33,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:33,864 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-28 12:52:33,865 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:52:33,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-28 12:52:33,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:33,904 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-28 12:52:33,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:52:33,904 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:33,904 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:33,904 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 12:52:33,905 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:33,905 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:33,905 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-28 12:52:33,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:33,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [784524822] [2022-04-28 12:52:33,906 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:33,906 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-28 12:52:33,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:33,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1588561869] [2022-04-28 12:52:33,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:33,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:33,915 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:52:33,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1591777332] [2022-04-28 12:52:33,916 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:52:33,916 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:33,916 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:33,917 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:52:33,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:52:33,951 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:52:33,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:52:33,952 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:52:33,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:33,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:52:34,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {1227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {1227#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1227#true} is VALID [2022-04-28 12:52:34,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {1227#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1227#true} is VALID [2022-04-28 12:52:34,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:52:34,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:52:34,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:52:34,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-28 12:52:34,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:52:34,068 INFO L290 TraceCheckUtils]: 12: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:52:34,068 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:52:34,069 INFO L272 TraceCheckUtils]: 14: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1227#true} is VALID [2022-04-28 12:52:34,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:52:34,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:52:34,070 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:52:34,077 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:52:34,077 INFO L272 TraceCheckUtils]: 19: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1227#true} is VALID [2022-04-28 12:52:34,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 12:52:34,077 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 12:52:34,078 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 12:52:34,078 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:52:34,079 INFO L272 TraceCheckUtils]: 24: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:52:34,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:52:34,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-28 12:52:34,080 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-28 12:52:34,080 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:52:34,080 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:52:34,080 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:34,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1588561869] [2022-04-28 12:52:34,080 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:52:34,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1591777332] [2022-04-28 12:52:34,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1591777332] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:34,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:34,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:34,081 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:34,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [784524822] [2022-04-28 12:52:34,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [784524822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:34,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:34,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:34,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1876436662] [2022-04-28 12:52:34,082 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:34,082 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:52:34,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:34,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:52:34,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:34,099 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:52:34,099 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:34,099 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:52:34,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:52:34,099 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:52:34,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:34,234 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-28 12:52:34,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:52:34,234 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:52:34,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:34,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:52:34,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 12:52:34,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:52:34,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 12:52:34,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-28 12:52:34,317 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 12:52:34,319 INFO L225 Difference]: With dead ends: 71 [2022-04-28 12:52:34,319 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:52:34,320 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:52:34,323 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:34,324 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:52:34,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:52:34,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 12:52:34,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:34,346 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:34,346 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:34,346 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:34,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:34,349 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 12:52:34,349 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:52:34,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:34,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:34,350 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 12:52:34,350 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 12:52:34,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:34,353 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 12:52:34,353 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:52:34,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:34,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:34,353 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:34,353 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:34,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:34,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-28 12:52:34,355 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-28 12:52:34,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:34,356 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-28 12:52:34,356 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:52:34,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-28 12:52:34,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:34,420 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 12:52:34,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:52:34,421 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:34,421 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:34,437 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:52:34,635 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:34,635 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:34,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:34,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-28 12:52:34,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:34,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1832691745] [2022-04-28 12:52:34,637 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:34,637 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-28 12:52:34,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:34,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732852375] [2022-04-28 12:52:34,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:34,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:34,646 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:52:34,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [197577367] [2022-04-28 12:52:34,646 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:52:34,646 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:34,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:34,647 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:52:34,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:52:34,679 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:52:34,679 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:52:34,680 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:52:34,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:34,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:52:34,812 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-28 12:52:34,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {1683#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {1691#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,816 INFO L272 TraceCheckUtils]: 6: Hoare triple {1691#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:34,818 INFO L290 TraceCheckUtils]: 12: Hoare triple {1691#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,818 INFO L272 TraceCheckUtils]: 14: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,820 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,820 INFO L272 TraceCheckUtils]: 19: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,821 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,821 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,822 INFO L272 TraceCheckUtils]: 24: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,823 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,823 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,823 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:34,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {1725#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1780#(<= |main_#t~post7| 1)} is VALID [2022-04-28 12:52:34,824 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 10);havoc #t~post7; {1684#false} is VALID [2022-04-28 12:52:34,824 INFO L272 TraceCheckUtils]: 32: Hoare triple {1684#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1684#false} is VALID [2022-04-28 12:52:34,824 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-28 12:52:34,825 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-28 12:52:34,825 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-28 12:52:34,825 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:52:34,825 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:52:34,825 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:34,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1732852375] [2022-04-28 12:52:34,825 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:52:34,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [197577367] [2022-04-28 12:52:34,825 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [197577367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:34,825 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:34,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:34,826 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:34,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1832691745] [2022-04-28 12:52:34,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1832691745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:34,826 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:34,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:34,826 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [811973017] [2022-04-28 12:52:34,826 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:34,826 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 12:52:34,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:34,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:52:34,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:34,844 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:52:34,844 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:34,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:52:34,845 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:52:34,867 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:52:34,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:34,996 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-28 12:52:34,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:52:34,997 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 12:52:34,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:34,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:52:34,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:52:34,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:52:34,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:52:34,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:52:35,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:35,048 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:52:35,048 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 12:52:35,049 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:52:35,050 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:35,051 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 117 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:52:35,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 12:52:35,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-28 12:52:35,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:35,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:35,091 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:35,092 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:35,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:35,094 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 12:52:35,094 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 12:52:35,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:35,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:35,094 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 12:52:35,095 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 12:52:35,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:35,098 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 12:52:35,098 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 12:52:35,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:35,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:35,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:35,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:35,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:52:35,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-28 12:52:35,101 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-28 12:52:35,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:35,102 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-28 12:52:35,102 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:52:35,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-28 12:52:35,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:35,182 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-28 12:52:35,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:52:35,184 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:35,184 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:35,209 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 12:52:35,400 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:35,401 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:35,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:35,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-28 12:52:35,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:35,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [65573752] [2022-04-28 12:52:35,401 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:52:35,402 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-28 12:52:35,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:35,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713758869] [2022-04-28 12:52:35,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:35,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:35,417 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:52:35,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1059269393] [2022-04-28 12:52:35,417 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:52:35,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:35,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:35,418 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:52:35,419 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:52:35,450 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:52:35,450 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:52:35,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:52:35,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:35,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:52:46,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {2221#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {2221#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {2221#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2221#true} is VALID [2022-04-28 12:52:46,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:52:46,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:52:46,654 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:52:46,654 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-28 12:52:46,654 INFO L290 TraceCheckUtils]: 11: Hoare triple {2221#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,655 INFO L290 TraceCheckUtils]: 12: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,655 INFO L272 TraceCheckUtils]: 14: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2221#true} is VALID [2022-04-28 12:52:46,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:52:46,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:52:46,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:52:46,656 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,656 INFO L272 TraceCheckUtils]: 19: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2221#true} is VALID [2022-04-28 12:52:46,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:52:46,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:52:46,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:52:46,657 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2221#true} is VALID [2022-04-28 12:52:46,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 12:52:46,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 12:52:46,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 12:52:46,658 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,658 INFO L290 TraceCheckUtils]: 29: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 10);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:52:46,660 INFO L272 TraceCheckUtils]: 32: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:52:46,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:52:46,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-28 12:52:46,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-28 12:52:46,661 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:52:46,661 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:52:46,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:46,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713758869] [2022-04-28 12:52:46,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:52:46,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1059269393] [2022-04-28 12:52:46,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1059269393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:46,661 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:46,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:46,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:46,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [65573752] [2022-04-28 12:52:46,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [65573752] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:46,662 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:46,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:46,662 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [251696143] [2022-04-28 12:52:46,662 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:46,662 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 12:52:46,662 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:46,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:52:46,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:46,684 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:52:46,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:46,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:52:46,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:52:46,684 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:52:46,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:46,914 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-28 12:52:46,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:52:46,914 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 12:52:46,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:46,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:52:46,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 12:52:46,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:52:46,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 12:52:46,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-28 12:52:46,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:46,960 INFO L225 Difference]: With dead ends: 82 [2022-04-28 12:52:46,960 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:52:46,961 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:52:46,961 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 11 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:46,961 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:52:46,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:52:46,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-28 12:52:46,997 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:46,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:46,998 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:46,998 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:46,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:46,999 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 12:52:47,000 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 12:52:47,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:47,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:47,000 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 12:52:47,000 INFO L87 Difference]: Start difference. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 12:52:47,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:47,002 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 12:52:47,002 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 12:52:47,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:47,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:47,002 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:47,002 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:47,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:47,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-28 12:52:47,004 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-28 12:52:47,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:47,004 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-28 12:52:47,004 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:52:47,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-28 12:52:47,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:47,081 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 12:52:47,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:52:47,081 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:47,081 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:47,113 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 12:52:47,282 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:47,282 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:47,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:47,282 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-28 12:52:47,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:47,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1631073094] [2022-04-28 12:52:57,349 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:52:57,349 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:52:57,350 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-28 12:52:57,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:52:57,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47824475] [2022-04-28 12:52:57,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:52:57,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:52:57,392 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:52:57,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [388217263] [2022-04-28 12:52:57,392 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:52:57,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:57,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:52:57,394 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:52:57,405 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:52:57,433 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:52:57,433 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:52:57,434 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:52:57,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:52:57,445 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:52:57,616 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 12:52:57,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {2785#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {2785#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {2785#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 12:52:57,620 INFO L290 TraceCheckUtils]: 12: Hoare triple {2785#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,621 INFO L272 TraceCheckUtils]: 14: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,621 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,622 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,622 INFO L272 TraceCheckUtils]: 19: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,623 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,624 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,624 INFO L272 TraceCheckUtils]: 24: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,625 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {2819#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 12:52:57,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {2819#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2874#(<= |main_#t~post6| 1)} is VALID [2022-04-28 12:52:57,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 10);havoc #t~post6; {2778#false} is VALID [2022-04-28 12:52:57,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 10);havoc #t~post7; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 12:52:57,627 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 12:52:57,628 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 12:52:57,628 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:52:57,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 12:52:57,801 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 12:52:57,801 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 12:52:57,802 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 12:52:57,802 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:52:57,802 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 10);havoc #t~post7; {2778#false} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 12:52:57,802 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {2778#false} is VALID [2022-04-28 12:52:57,803 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:52:57,803 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,804 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 10)} #86#return; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:52:57,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:52:57,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:52:57,804 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:52:57,805 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 10)} #84#return; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:52:57,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:52:57,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:52:57,805 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:52:57,805 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 10)} #82#return; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:52:57,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:52:57,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:52:57,806 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:52:57,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,807 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 10)} is VALID [2022-04-28 12:52:57,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 9)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 9)} #80#return; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 12:52:57,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 12:52:57,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 12:52:57,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 9)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-28 12:52:57,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 9)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 9)} call #t~ret8 := main(); {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 9)} {2777#true} #96#return; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 9)} assume true; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3003#(< ~counter~0 9)} is VALID [2022-04-28 12:52:57,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 12:52:57,810 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:52:57,810 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:52:57,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [47824475] [2022-04-28 12:52:57,810 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:52:57,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [388217263] [2022-04-28 12:52:57,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [388217263] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:52:57,810 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:52:57,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:52:57,810 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:52:57,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1631073094] [2022-04-28 12:52:57,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1631073094] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:52:57,811 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:52:57,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:52:57,811 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [640157238] [2022-04-28 12:52:57,811 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:52:57,811 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 12:52:57,811 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:52:57,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 12:52:57,838 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 12:52:57,838 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:52:57,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:57,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:52:57,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:52:57,839 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 12:52:57,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:57,972 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-28 12:52:57,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:52:57,972 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 12:52:57,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:52:57,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 12:52:57,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 12:52:57,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 12:52:57,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 12:52:57,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-28 12:52:58,027 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 12:52:58,031 INFO L225 Difference]: With dead ends: 96 [2022-04-28 12:52:58,031 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:52:58,031 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:52:58,032 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:52:58,032 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:52:58,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:52:58,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:52:58,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:52:58,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:58,094 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:58,094 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:58,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:58,096 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 12:52:58,096 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:52:58,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:58,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:58,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 12:52:58,096 INFO L87 Difference]: Start difference. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 12:52:58,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:52:58,098 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 12:52:58,098 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:52:58,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:52:58,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:52:58,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:52:58,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:52:58,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:52:58,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-28 12:52:58,100 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-28 12:52:58,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:52:58,100 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-28 12:52:58,101 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 12:52:58,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-28 12:52:58,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:52:58,176 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 12:52:58,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 12:52:58,177 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:52:58,177 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:52:58,215 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 12:52:58,377 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:52:58,378 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:52:58,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:52:58,378 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-28 12:52:58,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:52:58,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [543236725] [2022-04-28 12:53:06,394 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:53:06,394 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:53:06,394 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-28 12:53:06,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:53:06,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130055892] [2022-04-28 12:53:06,394 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:53:06,394 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:53:06,426 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:53:06,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1996274198] [2022-04-28 12:53:06,426 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:53:06,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:06,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:53:06,451 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:53:06,493 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:53:06,523 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:53:06,523 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:53:06,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 12:53:06,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:53:06,539 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:53:07,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 12:53:07,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-28 12:53:07,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 12:53:07,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 12:53:07,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 12:53:07,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:53:07,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:53:07,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:53:07,241 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} {3520#true} #80#return; {3557#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 12:53:07,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,243 INFO L272 TraceCheckUtils]: 14: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,244 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,244 INFO L272 TraceCheckUtils]: 19: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,245 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,245 INFO L272 TraceCheckUtils]: 24: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,246 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:53:07,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,247 INFO L272 TraceCheckUtils]: 32: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,248 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,248 INFO L272 TraceCheckUtils]: 37: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,248 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,248 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,249 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,253 INFO L272 TraceCheckUtils]: 42: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:53:07,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:53:07,254 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 12:53:07,254 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 12:53:07,254 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 12:53:07,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:53:07,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 12:53:07,570 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 12:53:07,570 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:53:07,570 INFO L272 TraceCheckUtils]: 42: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:53:07,571 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,571 INFO L272 TraceCheckUtils]: 37: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,572 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,572 INFO L272 TraceCheckUtils]: 32: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,573 INFO L290 TraceCheckUtils]: 30: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,574 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,574 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,575 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,575 INFO L272 TraceCheckUtils]: 24: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,575 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,575 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L272 TraceCheckUtils]: 19: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,576 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,576 INFO L272 TraceCheckUtils]: 14: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,577 INFO L290 TraceCheckUtils]: 12: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {3520#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:53:07,577 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-28 12:53:07,577 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 12:53:07,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 12:53:07,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 12:53:07,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 12:53:07,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 12:53:07,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 12:53:07,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 12:53:07,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-28 12:53:07,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 12:53:07,585 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:53:07,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:53:07,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130055892] [2022-04-28 12:53:07,585 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:53:07,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1996274198] [2022-04-28 12:53:07,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1996274198] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:53:07,586 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:53:07,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 12:53:07,586 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:53:07,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [543236725] [2022-04-28 12:53:07,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [543236725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:53:07,586 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:53:07,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:53:07,586 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [613080279] [2022-04-28 12:53:07,586 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:53:07,587 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 12:53:07,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:53:07,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:53:07,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:07,604 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:53:07,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:07,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:53:07,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:53:07,605 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:53:08,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:08,071 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-28 12:53:08,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:53:08,071 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 12:53:08,071 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:53:08,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:53:08,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 12:53:08,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:53:08,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 12:53:08,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 12:53:08,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:08,117 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:53:08,117 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 12:53:08,117 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:53:08,117 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:53:08,117 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:53:08,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 12:53:08,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-28 12:53:08,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:53:08,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:53:08,161 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:53:08,161 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:53:08,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:08,167 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 12:53:08,167 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 12:53:08,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:08,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:08,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 12:53:08,168 INFO L87 Difference]: Start difference. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 12:53:08,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:08,169 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 12:53:08,169 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 12:53:08,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:08,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:08,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:53:08,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:53:08,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:53:08,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-28 12:53:08,173 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-28 12:53:08,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:53:08,173 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-28 12:53:08,173 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:53:08,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-28 12:53:08,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:08,262 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-28 12:53:08,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:53:08,262 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:53:08,262 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:53:08,279 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:53:08,463 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:08,463 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:53:08,463 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:53:08,463 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-28 12:53:08,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:08,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [769412654] [2022-04-28 12:53:15,933 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:53:15,934 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:53:15,934 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-28 12:53:15,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:53:15,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [597022476] [2022-04-28 12:53:15,934 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:53:15,934 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:53:15,946 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:53:15,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [353240514] [2022-04-28 12:53:15,946 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:53:15,946 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:15,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:53:15,947 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:53:15,951 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:53:16,000 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:53:16,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:53:16,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:53:16,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:53:16,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:53:16,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 12:53:16,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {4305#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,309 INFO L272 TraceCheckUtils]: 6: Hoare triple {4305#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,311 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:16,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {4305#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,312 INFO L272 TraceCheckUtils]: 14: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,314 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,314 INFO L272 TraceCheckUtils]: 19: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,315 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,316 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,316 INFO L272 TraceCheckUtils]: 24: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,317 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,317 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,318 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,318 INFO L290 TraceCheckUtils]: 29: Hoare triple {4339#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:16,318 INFO L290 TraceCheckUtils]: 30: Hoare triple {4339#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,319 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,319 INFO L272 TraceCheckUtils]: 32: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,319 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,320 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,320 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,320 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,321 INFO L272 TraceCheckUtils]: 37: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,321 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,321 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,322 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,322 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,323 INFO L272 TraceCheckUtils]: 42: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,324 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:16,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {4394#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4449#(<= |main_#t~post7| 2)} is VALID [2022-04-28 12:53:16,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 10);havoc #t~post7; {4298#false} is VALID [2022-04-28 12:53:16,325 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 12:53:16,326 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:53:16,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:53:16,572 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 12:53:16,572 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 12:53:16,572 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 12:53:16,572 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 12:53:16,573 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 12:53:16,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,573 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,573 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,573 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {4298#false} is VALID [2022-04-28 12:53:16,573 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 10)} is VALID [2022-04-28 12:53:16,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 10)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,575 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 10)} #86#return; {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,575 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,575 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,575 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 10)} #84#return; {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 10)} #82#return; {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,576 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 10)} is VALID [2022-04-28 12:53:16,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 9)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,578 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 9)} #86#return; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,578 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,579 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 9)} #84#return; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,579 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,579 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 9)} #82#return; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,580 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {4621#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 9)} is VALID [2022-04-28 12:53:16,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {4621#(< ~counter~0 8)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,581 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4621#(< ~counter~0 8)} #80#return; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 12:53:16,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 12:53:16,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 12:53:16,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {4621#(< ~counter~0 8)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-28 12:53:16,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {4621#(< ~counter~0 8)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {4621#(< ~counter~0 8)} call #t~ret8 := main(); {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4621#(< ~counter~0 8)} {4297#true} #96#return; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {4621#(< ~counter~0 8)} assume true; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4621#(< ~counter~0 8)} is VALID [2022-04-28 12:53:16,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 12:53:16,584 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:53:16,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:53:16,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [597022476] [2022-04-28 12:53:16,584 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:53:16,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [353240514] [2022-04-28 12:53:16,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [353240514] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:53:16,584 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:53:16,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:53:16,584 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:53:16,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [769412654] [2022-04-28 12:53:16,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [769412654] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:53:16,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:53:16,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:53:16,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [758639946] [2022-04-28 12:53:16,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:53:16,585 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 12:53:16,585 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:53:16,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:16,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:16,618 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:53:16,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:16,618 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:53:16,618 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:53:16,619 INFO L87 Difference]: Start difference. First operand 79 states and 94 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:16,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:16,784 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:53:16,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:53:16,784 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 12:53:16,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:53:16,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:16,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 12:53:16,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:16,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 12:53:16,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-28 12:53:16,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:16,843 INFO L225 Difference]: With dead ends: 110 [2022-04-28 12:53:16,843 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 12:53:16,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:53:16,844 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 14 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:53:16,844 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 129 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:53:16,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 12:53:16,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-28 12:53:16,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:53:16,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:16,906 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:16,906 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:16,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:16,909 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:53:16,909 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:53:16,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:16,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:16,909 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 12:53:16,909 INFO L87 Difference]: Start difference. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 12:53:16,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:16,911 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:53:16,911 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:53:16,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:16,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:16,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:53:16,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:53:16,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:16,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-28 12:53:16,915 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-28 12:53:16,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:53:16,915 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-28 12:53:16,915 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:16,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-28 12:53:17,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:17,026 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-28 12:53:17,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:53:17,026 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:53:17,026 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:53:17,042 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:53:17,226 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:17,227 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:53:17,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:53:17,227 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-28 12:53:17,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:17,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1177644192] [2022-04-28 12:53:23,619 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:53:23,619 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:53:23,619 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-28 12:53:23,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:53:23,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [820986953] [2022-04-28 12:53:23,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:53:23,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:53:23,627 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:53:23,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [336482945] [2022-04-28 12:53:23,627 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:53:23,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:23,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:53:23,628 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:53:23,629 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:53:23,666 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:53:23,666 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:53:23,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:53:23,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:53:23,678 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:53:23,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 12:53:23,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5278#(<= ~counter~0 0)} {5270#true} #96#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {5278#(<= ~counter~0 0)} call #t~ret8 := main(); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {5278#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {5278#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {5278#(<= ~counter~0 0)} ~cond := #in~cond; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {5278#(<= ~counter~0 0)} assume !(0 == ~cond); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5278#(<= ~counter~0 0)} {5278#(<= ~counter~0 0)} #80#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {5278#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:23,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {5278#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {5312#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,936 INFO L272 TraceCheckUtils]: 14: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,937 INFO L290 TraceCheckUtils]: 17: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,938 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #82#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,938 INFO L272 TraceCheckUtils]: 19: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,939 INFO L290 TraceCheckUtils]: 21: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,939 INFO L290 TraceCheckUtils]: 22: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,940 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #84#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,940 INFO L272 TraceCheckUtils]: 24: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,942 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #86#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,942 INFO L290 TraceCheckUtils]: 29: Hoare triple {5312#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:23,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {5312#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {5367#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,943 INFO L272 TraceCheckUtils]: 32: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,943 INFO L290 TraceCheckUtils]: 33: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,944 INFO L290 TraceCheckUtils]: 34: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,944 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #82#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,945 INFO L272 TraceCheckUtils]: 37: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,945 INFO L290 TraceCheckUtils]: 38: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,945 INFO L290 TraceCheckUtils]: 39: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,946 INFO L290 TraceCheckUtils]: 40: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,946 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #84#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,947 INFO L272 TraceCheckUtils]: 42: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,947 INFO L290 TraceCheckUtils]: 44: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,947 INFO L290 TraceCheckUtils]: 45: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,948 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #86#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {5367#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 48: Hoare triple {5367#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5422#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {5422#(<= |main_#t~post6| 2)} assume !(#t~post6 < 10);havoc #t~post6; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 10);havoc #t~post7; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 53: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 54: Hoare triple {5271#false} assume !(0 == ~cond); {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L290 TraceCheckUtils]: 55: Hoare triple {5271#false} assume true; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5271#false} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 12:53:23,949 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:53:23,950 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:53:23,950 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 12:53:23,950 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 12:53:23,950 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 12:53:23,950 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#true} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,206 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 10);havoc #t~post7; {5271#false} is VALID [2022-04-28 12:53:24,206 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 12:53:24,207 INFO L290 TraceCheckUtils]: 49: Hoare triple {5492#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {5271#false} is VALID [2022-04-28 12:53:24,208 INFO L290 TraceCheckUtils]: 48: Hoare triple {5496#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5492#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:53:24,208 INFO L290 TraceCheckUtils]: 47: Hoare triple {5496#(< ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,209 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5270#true} {5496#(< ~counter~0 10)} #86#return; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,209 INFO L290 TraceCheckUtils]: 45: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,209 INFO L290 TraceCheckUtils]: 44: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,209 INFO L290 TraceCheckUtils]: 43: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,209 INFO L272 TraceCheckUtils]: 42: Hoare triple {5496#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5270#true} {5496#(< ~counter~0 10)} #84#return; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 39: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 38: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L272 TraceCheckUtils]: 37: Hoare triple {5496#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5270#true} {5496#(< ~counter~0 10)} #82#return; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,211 INFO L272 TraceCheckUtils]: 32: Hoare triple {5496#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {5496#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {5551#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5496#(< ~counter~0 10)} is VALID [2022-04-28 12:53:24,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {5551#(< ~counter~0 9)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,212 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5270#true} {5551#(< ~counter~0 9)} #86#return; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,212 INFO L272 TraceCheckUtils]: 24: Hoare triple {5551#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,213 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5270#true} {5551#(< ~counter~0 9)} #84#return; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,213 INFO L290 TraceCheckUtils]: 22: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,213 INFO L290 TraceCheckUtils]: 21: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,213 INFO L272 TraceCheckUtils]: 19: Hoare triple {5551#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,213 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5270#true} {5551#(< ~counter~0 9)} #82#return; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,214 INFO L272 TraceCheckUtils]: 14: Hoare triple {5551#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {5551#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {5606#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5551#(< ~counter~0 9)} is VALID [2022-04-28 12:53:24,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {5606#(< ~counter~0 8)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,215 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5270#true} {5606#(< ~counter~0 8)} #80#return; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 12:53:24,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 12:53:24,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 12:53:24,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {5606#(< ~counter~0 8)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5270#true} is VALID [2022-04-28 12:53:24,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {5606#(< ~counter~0 8)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {5606#(< ~counter~0 8)} call #t~ret8 := main(); {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5606#(< ~counter~0 8)} {5270#true} #96#return; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {5606#(< ~counter~0 8)} assume true; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5606#(< ~counter~0 8)} is VALID [2022-04-28 12:53:24,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 12:53:24,217 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:53:24,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:53:24,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [820986953] [2022-04-28 12:53:24,218 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:53:24,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [336482945] [2022-04-28 12:53:24,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [336482945] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:53:24,218 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:53:24,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:53:24,218 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:53:24,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1177644192] [2022-04-28 12:53:24,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1177644192] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:53:24,218 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:53:24,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:53:24,218 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [377673221] [2022-04-28 12:53:24,218 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:53:24,219 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 12:53:24,219 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:53:24,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:24,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:24,252 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:53:24,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:24,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:53:24,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:53:24,253 INFO L87 Difference]: Start difference. First operand 97 states and 113 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:24,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:24,427 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 12:53:24,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:53:24,427 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 12:53:24,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:53:24,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:24,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 12:53:24,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:24,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 12:53:24,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 12:53:24,489 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:24,490 INFO L225 Difference]: With dead ends: 132 [2022-04-28 12:53:24,490 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 12:53:24,490 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:53:24,491 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:53:24,491 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 146 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:53:24,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 12:53:24,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-28 12:53:24,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:53:24,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:24,549 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:24,550 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:24,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:24,551 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 12:53:24,551 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:53:24,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:24,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:24,552 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 12:53:24,552 INFO L87 Difference]: Start difference. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 12:53:24,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:24,553 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 12:53:24,553 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:53:24,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:24,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:24,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:53:24,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:53:24,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:53:24,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-28 12:53:24,555 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-28 12:53:24,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:53:24,556 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-28 12:53:24,556 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 12:53:24,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-28 12:53:24,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:24,666 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 12:53:24,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:53:24,666 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:53:24,666 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:53:24,684 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 12:53:24,867 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 12:53:24,867 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:53:24,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:53:24,867 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-28 12:53:24,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:24,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [613378768] [2022-04-28 12:53:32,129 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:53:32,129 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:53:32,129 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-28 12:53:32,129 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:53:32,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1413837765] [2022-04-28 12:53:32,129 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:53:32,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:53:32,139 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:53:32,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1866479457] [2022-04-28 12:53:32,139 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:53:32,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:32,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:53:32,150 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:53:32,152 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:53:32,194 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:53:32,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:53:32,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:53:32,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:53:32,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:53:32,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 12:53:32,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,502 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6317#(<= ~counter~0 0)} {6309#true} #96#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,502 INFO L272 TraceCheckUtils]: 4: Hoare triple {6317#(<= ~counter~0 0)} call #t~ret8 := main(); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {6317#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,503 INFO L272 TraceCheckUtils]: 6: Hoare triple {6317#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {6317#(<= ~counter~0 0)} ~cond := #in~cond; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {6317#(<= ~counter~0 0)} assume !(0 == ~cond); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,504 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6317#(<= ~counter~0 0)} {6317#(<= ~counter~0 0)} #80#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {6317#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 12:53:32,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {6317#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {6351#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,506 INFO L272 TraceCheckUtils]: 14: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,506 INFO L290 TraceCheckUtils]: 16: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,506 INFO L290 TraceCheckUtils]: 17: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,507 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #82#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,507 INFO L272 TraceCheckUtils]: 19: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,509 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #84#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,509 INFO L272 TraceCheckUtils]: 24: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,510 INFO L290 TraceCheckUtils]: 26: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,510 INFO L290 TraceCheckUtils]: 27: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,511 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #86#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,511 INFO L290 TraceCheckUtils]: 29: Hoare triple {6351#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 12:53:32,511 INFO L290 TraceCheckUtils]: 30: Hoare triple {6351#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {6406#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,512 INFO L272 TraceCheckUtils]: 32: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,514 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #82#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,514 INFO L272 TraceCheckUtils]: 37: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,515 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #84#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,516 INFO L272 TraceCheckUtils]: 42: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,517 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #86#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,517 INFO L290 TraceCheckUtils]: 47: Hoare triple {6406#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 12:53:32,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {6406#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {6461#(<= ~counter~0 3)} assume !!(#t~post7 < 10);havoc #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,519 INFO L272 TraceCheckUtils]: 50: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,519 INFO L290 TraceCheckUtils]: 51: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,519 INFO L290 TraceCheckUtils]: 52: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,520 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #88#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,521 INFO L272 TraceCheckUtils]: 55: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,521 INFO L290 TraceCheckUtils]: 57: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,522 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #90#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,522 INFO L290 TraceCheckUtils]: 60: Hoare triple {6461#(<= ~counter~0 3)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,523 INFO L290 TraceCheckUtils]: 61: Hoare triple {6461#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 12:53:32,523 INFO L290 TraceCheckUtils]: 62: Hoare triple {6461#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6504#(<= |main_#t~post7| 3)} is VALID [2022-04-28 12:53:32,523 INFO L290 TraceCheckUtils]: 63: Hoare triple {6504#(<= |main_#t~post7| 3)} assume !(#t~post7 < 10);havoc #t~post7; {6310#false} is VALID [2022-04-28 12:53:32,524 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 12:53:32,524 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 12:53:32,524 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 12:53:32,524 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 12:53:32,524 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:53:32,524 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:53:32,844 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 12:53:32,844 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 12:53:32,844 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 12:53:32,844 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 12:53:32,844 INFO L290 TraceCheckUtils]: 63: Hoare triple {6532#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {6310#false} is VALID [2022-04-28 12:53:32,845 INFO L290 TraceCheckUtils]: 62: Hoare triple {6536#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6532#(< |main_#t~post7| 10)} is VALID [2022-04-28 12:53:32,845 INFO L290 TraceCheckUtils]: 61: Hoare triple {6536#(< ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,845 INFO L290 TraceCheckUtils]: 60: Hoare triple {6536#(< ~counter~0 10)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,846 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6309#true} {6536#(< ~counter~0 10)} #90#return; {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,846 INFO L290 TraceCheckUtils]: 57: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,846 INFO L272 TraceCheckUtils]: 55: Hoare triple {6536#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,847 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6309#true} {6536#(< ~counter~0 10)} #88#return; {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,847 INFO L290 TraceCheckUtils]: 53: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,847 INFO L290 TraceCheckUtils]: 52: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,847 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,847 INFO L272 TraceCheckUtils]: 50: Hoare triple {6536#(< ~counter~0 10)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {6536#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,848 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6536#(< ~counter~0 10)} is VALID [2022-04-28 12:53:32,848 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#(< ~counter~0 9)} assume !(~r~0 >= ~d~0); {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,849 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6309#true} {6579#(< ~counter~0 9)} #86#return; {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,849 INFO L290 TraceCheckUtils]: 43: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,849 INFO L272 TraceCheckUtils]: 42: Hoare triple {6579#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,850 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6309#true} {6579#(< ~counter~0 9)} #84#return; {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,850 INFO L290 TraceCheckUtils]: 40: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,850 INFO L290 TraceCheckUtils]: 39: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,850 INFO L290 TraceCheckUtils]: 38: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,850 INFO L272 TraceCheckUtils]: 37: Hoare triple {6579#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,850 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6309#true} {6579#(< ~counter~0 9)} #82#return; {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,850 INFO L290 TraceCheckUtils]: 35: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,851 INFO L272 TraceCheckUtils]: 32: Hoare triple {6579#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,851 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,851 INFO L290 TraceCheckUtils]: 30: Hoare triple {6634#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6579#(< ~counter~0 9)} is VALID [2022-04-28 12:53:32,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {6634#(< ~counter~0 8)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,852 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6309#true} {6634#(< ~counter~0 8)} #86#return; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,853 INFO L272 TraceCheckUtils]: 24: Hoare triple {6634#(< ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,853 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6309#true} {6634#(< ~counter~0 8)} #84#return; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,853 INFO L272 TraceCheckUtils]: 19: Hoare triple {6634#(< ~counter~0 8)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,854 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6309#true} {6634#(< ~counter~0 8)} #82#return; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,854 INFO L290 TraceCheckUtils]: 17: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,854 INFO L290 TraceCheckUtils]: 16: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,854 INFO L272 TraceCheckUtils]: 14: Hoare triple {6634#(< ~counter~0 8)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {6634#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {6689#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6634#(< ~counter~0 8)} is VALID [2022-04-28 12:53:32,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {6689#(< ~counter~0 7)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6309#true} {6689#(< ~counter~0 7)} #80#return; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 12:53:32,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 12:53:32,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 12:53:32,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {6689#(< ~counter~0 7)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6309#true} is VALID [2022-04-28 12:53:32,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {6689#(< ~counter~0 7)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {6689#(< ~counter~0 7)} call #t~ret8 := main(); {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6689#(< ~counter~0 7)} {6309#true} #96#return; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {6689#(< ~counter~0 7)} assume true; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6689#(< ~counter~0 7)} is VALID [2022-04-28 12:53:32,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 12:53:32,858 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:53:32,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:53:32,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1413837765] [2022-04-28 12:53:32,858 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:53:32,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1866479457] [2022-04-28 12:53:32,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1866479457] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:53:32,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:53:32,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:53:32,858 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:53:32,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [613378768] [2022-04-28 12:53:32,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [613378768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:53:32,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:53:32,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:53:32,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347249774] [2022-04-28 12:53:32,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:53:32,859 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:53:32,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:53:32,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:53:32,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:32,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:53:32,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:32,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:53:32,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:53:32,902 INFO L87 Difference]: Start difference. First operand 99 states and 115 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:53:33,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:33,217 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-28 12:53:33,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:53:33,217 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:53:33,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:53:33,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:53:33,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 12:53:33,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:53:33,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 12:53:33,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-28 12:53:33,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:33,297 INFO L225 Difference]: With dead ends: 151 [2022-04-28 12:53:33,298 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 12:53:33,298 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:53:33,298 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 41 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:53:33,298 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 174 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:53:33,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 12:53:33,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-28 12:53:33,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:53:33,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:53:33,390 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:53:33,390 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:53:33,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:33,396 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 12:53:33,396 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 12:53:33,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:33,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:33,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 12:53:33,398 INFO L87 Difference]: Start difference. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 12:53:33,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:33,402 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 12:53:33,402 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 12:53:33,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:33,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:33,402 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:53:33,402 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:53:33,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:53:33,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-28 12:53:33,404 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-28 12:53:33,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:53:33,404 INFO L495 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-28 12:53:33,405 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:53:33,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-28 12:53:33,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:33,568 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-28 12:53:33,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:53:33,568 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:53:33,568 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:53:33,587 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:53:33,768 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:33,769 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:53:33,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:53:33,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-28 12:53:33,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:33,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [932898987] [2022-04-28 12:53:42,521 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:53:42,522 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:53:42,522 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-28 12:53:42,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:53:42,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [675631285] [2022-04-28 12:53:42,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:53:42,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:53:42,539 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:53:42,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2048895717] [2022-04-28 12:53:42,539 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:53:42,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:53:42,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:53:42,551 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:53:42,552 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:53:42,594 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:53:42,595 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:53:42,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:53:42,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:53:42,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:53:46,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 12:53:46,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 12:53:46,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,423 INFO L290 TraceCheckUtils]: 12: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,423 INFO L272 TraceCheckUtils]: 14: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,424 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,424 INFO L272 TraceCheckUtils]: 19: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,425 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,425 INFO L272 TraceCheckUtils]: 24: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,426 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,427 INFO L272 TraceCheckUtils]: 32: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,428 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,428 INFO L272 TraceCheckUtils]: 37: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,428 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,428 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,429 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,429 INFO L272 TraceCheckUtils]: 42: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,429 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,429 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,429 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,430 INFO L290 TraceCheckUtils]: 47: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,430 INFO L290 TraceCheckUtils]: 48: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,431 INFO L290 TraceCheckUtils]: 49: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post7 < 10);havoc #t~post7; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,431 INFO L272 TraceCheckUtils]: 50: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,431 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,431 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,431 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,431 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,431 INFO L272 TraceCheckUtils]: 55: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:46,431 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:46,432 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:46,432 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:46,432 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #90#return; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:53:46,433 INFO L290 TraceCheckUtils]: 60: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7758#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:53:46,434 INFO L290 TraceCheckUtils]: 61: Hoare triple {7758#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 12:53:46,434 INFO L290 TraceCheckUtils]: 62: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 12:53:46,435 INFO L290 TraceCheckUtils]: 63: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !!(#t~post7 < 10);havoc #t~post7; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 12:53:46,435 INFO L272 TraceCheckUtils]: 64: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:53:46,436 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:53:46,436 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 12:53:46,436 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 12:53:46,436 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:53:46,436 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:53:53,477 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 12:53:53,477 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 12:53:53,477 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:53:53,478 INFO L272 TraceCheckUtils]: 64: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:53:53,478 INFO L290 TraceCheckUtils]: 63: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 10);havoc #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:53:53,478 INFO L290 TraceCheckUtils]: 62: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:53:53,480 INFO L290 TraceCheckUtils]: 61: Hoare triple {7802#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:53:53,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7802#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 12:53:53,490 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:53:53,490 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,490 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,490 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,491 INFO L272 TraceCheckUtils]: 55: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,492 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:53:53,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,495 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,495 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,495 INFO L272 TraceCheckUtils]: 50: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,496 INFO L290 TraceCheckUtils]: 49: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 10);havoc #t~post7; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:53:53,497 INFO L290 TraceCheckUtils]: 48: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:53:53,497 INFO L290 TraceCheckUtils]: 47: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:53:53,498 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #86#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,498 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,498 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,498 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,498 INFO L272 TraceCheckUtils]: 42: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,499 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,499 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,499 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,499 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,499 INFO L272 TraceCheckUtils]: 37: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,499 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,500 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,500 INFO L272 TraceCheckUtils]: 32: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,506 INFO L290 TraceCheckUtils]: 29: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:53:53,506 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,506 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,506 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L272 TraceCheckUtils]: 24: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,507 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,507 INFO L272 TraceCheckUtils]: 19: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,508 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,508 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,508 INFO L272 TraceCheckUtils]: 14: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,509 INFO L290 TraceCheckUtils]: 12: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:53:53,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 12:53:53,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 12:53:53,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 12:53:53,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7570#true} is VALID [2022-04-28 12:53:53,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 12:53:53,511 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 12:53:53,511 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:53:53,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [675631285] [2022-04-28 12:53:53,511 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:53:53,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2048895717] [2022-04-28 12:53:53,512 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2048895717] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:53:53,512 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:53:53,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:53:53,512 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:53:53,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [932898987] [2022-04-28 12:53:53,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [932898987] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:53:53,513 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:53:53,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:53:53,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2007228276] [2022-04-28 12:53:53,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:53:53,515 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 12:53:53,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:53:53,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:53:53,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:53,549 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:53:53,549 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:53,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:53:53,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:53:53,549 INFO L87 Difference]: Start difference. First operand 133 states and 154 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:53:54,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:54,274 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-28 12:53:54,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:53:54,275 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 12:53:54,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:53:54,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:53:54,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:53:54,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:53:54,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:53:54,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 12:53:54,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:54,373 INFO L225 Difference]: With dead ends: 178 [2022-04-28 12:53:54,373 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 12:53:54,373 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:53:54,373 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:53:54,374 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:53:54,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 12:53:54,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-28 12:53:54,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:53:54,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:53:54,486 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:53:54,486 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:53:54,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:54,488 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 12:53:54,488 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 12:53:54,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:54,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:54,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 12:53:54,489 INFO L87 Difference]: Start difference. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 12:53:54,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:53:54,491 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 12:53:54,491 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 12:53:54,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:53:54,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:53:54,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:53:54,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:53:54,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:53:54,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-28 12:53:54,494 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-28 12:53:54,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:53:54,494 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-28 12:53:54,494 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:53:54,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-28 12:53:54,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:53:54,642 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-28 12:53:54,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:53:54,643 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:53:54,643 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:53:54,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:53:54,859 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:53:54,859 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:53:54,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:53:54,859 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-28 12:53:54,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:53:54,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [294666058] [2022-04-28 12:54:03,867 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:54:03,867 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:54:03,868 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-28 12:54:03,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:54:03,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [830267312] [2022-04-28 12:54:03,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:54:03,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:54:03,876 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:54:03,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1612183246] [2022-04-28 12:54:03,876 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:54:03,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:54:03,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:54:03,882 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:54:03,882 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:54:03,927 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:54:03,928 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:54:03,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:54:03,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:54:03,941 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:54:04,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 12:54:04,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,636 INFO L272 TraceCheckUtils]: 14: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,636 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,637 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,637 INFO L272 TraceCheckUtils]: 19: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,637 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,637 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,637 INFO L272 TraceCheckUtils]: 24: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,638 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,638 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,638 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,638 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,639 INFO L290 TraceCheckUtils]: 30: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,640 INFO L272 TraceCheckUtils]: 32: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,640 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,640 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,640 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,641 INFO L272 TraceCheckUtils]: 37: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,641 INFO L272 TraceCheckUtils]: 42: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,642 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,642 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:54:04,643 INFO L290 TraceCheckUtils]: 47: Hoare triple {9010#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:54:04,643 INFO L290 TraceCheckUtils]: 48: Hoare triple {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:54:04,644 INFO L290 TraceCheckUtils]: 49: Hoare triple {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 10);havoc #t~post7; {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:54:04,644 INFO L272 TraceCheckUtils]: 50: Hoare triple {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,644 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,644 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,644 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,644 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:54:04,645 INFO L272 TraceCheckUtils]: 55: Hoare triple {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,645 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,645 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,645 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,646 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:54:04,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {9065#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,648 INFO L290 TraceCheckUtils]: 62: Hoare triple {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,648 INFO L290 TraceCheckUtils]: 63: Hoare triple {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post7 < 10);havoc #t~post7; {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,648 INFO L272 TraceCheckUtils]: 64: Hoare triple {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:04,648 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:04,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:04,648 INFO L290 TraceCheckUtils]: 67: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:04,649 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8917#true} {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #88#return; {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:54:04,649 INFO L272 TraceCheckUtils]: 69: Hoare triple {9105#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:54:04,650 INFO L290 TraceCheckUtils]: 70: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:54:04,650 INFO L290 TraceCheckUtils]: 71: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 12:54:04,650 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 12:54:04,650 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 12:54:04,651 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:54:13,481 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 12:54:13,481 INFO L290 TraceCheckUtils]: 71: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 12:54:13,482 INFO L290 TraceCheckUtils]: 70: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:54:13,482 INFO L272 TraceCheckUtils]: 69: Hoare triple {9153#(= 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)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:54:13,483 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8917#true} {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:54:13,483 INFO L290 TraceCheckUtils]: 67: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,483 INFO L290 TraceCheckUtils]: 66: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,483 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,483 INFO L272 TraceCheckUtils]: 64: Hoare triple {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,484 INFO L290 TraceCheckUtils]: 63: Hoare triple {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:54:13,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:54:13,484 INFO L290 TraceCheckUtils]: 61: Hoare triple {9153#(= 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; {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:54:13,498 INFO L290 TraceCheckUtils]: 60: Hoare triple {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9153#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:54:13,498 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:54:13,499 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,499 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,499 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,499 INFO L272 TraceCheckUtils]: 55: Hoare triple {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,504 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:54:13,504 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,504 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,504 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,504 INFO L272 TraceCheckUtils]: 50: Hoare triple {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,505 INFO L290 TraceCheckUtils]: 49: Hoare triple {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 10);havoc #t~post7; {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:54:13,506 INFO L290 TraceCheckUtils]: 48: Hoare triple {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:54:13,507 INFO L290 TraceCheckUtils]: 47: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {9181#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:54:13,507 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,508 INFO L272 TraceCheckUtils]: 42: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,509 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,509 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,509 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,509 INFO L272 TraceCheckUtils]: 37: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,510 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,510 INFO L272 TraceCheckUtils]: 32: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 10);havoc #t~post6; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,515 INFO L290 TraceCheckUtils]: 29: Hoare triple {9276#(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; {9221#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 12:54:13,515 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,516 INFO L272 TraceCheckUtils]: 24: Hoare triple {9276#(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)); {8917#true} is VALID [2022-04-28 12:54:13,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,517 INFO L272 TraceCheckUtils]: 19: Hoare triple {9276#(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)); {8917#true} is VALID [2022-04-28 12:54:13,517 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,517 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,518 INFO L272 TraceCheckUtils]: 14: Hoare triple {9276#(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)); {8917#true} is VALID [2022-04-28 12:54:13,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 10);havoc #t~post6; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9276#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:54:13,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 12:54:13,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 12:54:13,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 12:54:13,520 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 12:54:13,520 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:54:13,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [830267312] [2022-04-28 12:54:13,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:54:13,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1612183246] [2022-04-28 12:54:13,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1612183246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:54:13,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:54:13,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:54:13,521 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:54:13,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [294666058] [2022-04-28 12:54:13,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [294666058] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:54:13,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:54:13,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:54:13,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1901071996] [2022-04-28 12:54:13,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:54:13,522 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:54:13,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:54:13,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:54:13,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:54:13,567 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:54:13,567 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:54:13,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:54:13,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:54:13,567 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:54:14,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:54:14,497 INFO L93 Difference]: Finished difference Result 168 states and 197 transitions. [2022-04-28 12:54:14,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:54:14,497 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:54:14,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:54:14,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:54:14,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-28 12:54:14,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:54:14,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-28 12:54:14,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 103 transitions. [2022-04-28 12:54:14,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:54:14,583 INFO L225 Difference]: With dead ends: 168 [2022-04-28 12:54:14,583 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 12:54:14,584 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:54:14,584 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 12 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 171 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 171 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:54:14,584 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 260 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 171 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:54:14,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 12:54:14,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-28 12:54:14,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:54:14,695 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:54:14,695 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:54:14,695 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:54:14,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:54:14,697 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-28 12:54:14,697 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 12:54:14,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:54:14,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:54:14,698 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 12:54:14,698 INFO L87 Difference]: Start difference. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 12:54:14,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:54:14,700 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-28 12:54:14,700 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 12:54:14,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:54:14,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:54:14,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:54:14,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:54:14,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:54:14,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 160 transitions. [2022-04-28 12:54:14,703 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 160 transitions. Word has length 73 [2022-04-28 12:54:14,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:54:14,703 INFO L495 AbstractCegarLoop]: Abstraction has 143 states and 160 transitions. [2022-04-28 12:54:14,703 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:54:14,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 143 states and 160 transitions. [2022-04-28 12:54:14,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:54:14,866 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 12:54:14,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:54:14,867 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:54:14,867 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:54:14,883 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 12:54:15,067 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:54:15,068 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:54:15,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:54:15,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-28 12:54:15,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:54:15,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [266462173] [2022-04-28 12:54:20,220 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:54:20,220 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:54:20,220 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-28 12:54:20,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:54:20,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1892058696] [2022-04-28 12:54:20,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:54:20,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:54:20,231 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:54:20,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1009361276] [2022-04-28 12:54:20,231 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:54:20,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:54:20,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:54:20,232 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:54:20,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:54:20,332 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:54:20,332 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:54:20,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:54:20,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:54:20,346 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:54:53,324 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:54:57,469 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:55:08,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {10278#true} call ULTIMATE.init(); {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {10278#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10278#true} {10278#true} #96#return; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {10278#true} call #t~ret8 := main(); {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {10278#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L272 TraceCheckUtils]: 6: Hoare triple {10278#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10278#true} {10278#true} #80#return; {10278#true} is VALID [2022-04-28 12:55:08,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {10278#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,064 INFO L272 TraceCheckUtils]: 14: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 16: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,064 INFO L272 TraceCheckUtils]: 19: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,065 INFO L272 TraceCheckUtils]: 24: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,065 INFO L290 TraceCheckUtils]: 26: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,065 INFO L290 TraceCheckUtils]: 27: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,066 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,066 INFO L290 TraceCheckUtils]: 29: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,067 INFO L272 TraceCheckUtils]: 32: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,067 INFO L290 TraceCheckUtils]: 33: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,067 INFO L290 TraceCheckUtils]: 35: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,068 INFO L272 TraceCheckUtils]: 37: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L290 TraceCheckUtils]: 38: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L290 TraceCheckUtils]: 40: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,068 INFO L272 TraceCheckUtils]: 42: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,068 INFO L290 TraceCheckUtils]: 43: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,069 INFO L290 TraceCheckUtils]: 45: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,069 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,069 INFO L290 TraceCheckUtils]: 47: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,070 INFO L290 TraceCheckUtils]: 48: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,070 INFO L290 TraceCheckUtils]: 49: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 10);havoc #t~post7; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,070 INFO L272 TraceCheckUtils]: 50: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,070 INFO L290 TraceCheckUtils]: 51: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,070 INFO L290 TraceCheckUtils]: 52: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,071 INFO L290 TraceCheckUtils]: 53: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,071 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,071 INFO L272 TraceCheckUtils]: 55: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,071 INFO L290 TraceCheckUtils]: 56: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:55:08,071 INFO L290 TraceCheckUtils]: 57: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:55:08,071 INFO L290 TraceCheckUtils]: 58: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:55:08,072 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10278#true} {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,072 INFO L290 TraceCheckUtils]: 60: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:55:08,073 INFO L290 TraceCheckUtils]: 61: Hoare triple {10316#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:55:08,073 INFO L290 TraceCheckUtils]: 62: Hoare triple {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:55:08,074 INFO L290 TraceCheckUtils]: 63: Hoare triple {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 10);havoc #t~post7; {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:55:08,074 INFO L272 TraceCheckUtils]: 64: Hoare triple {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,074 INFO L290 TraceCheckUtils]: 65: Hoare triple {10278#true} ~cond := #in~cond; {10480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:55:08,074 INFO L290 TraceCheckUtils]: 66: Hoare triple {10480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:55:08,074 INFO L290 TraceCheckUtils]: 67: Hoare triple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:55:08,075 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} {10467#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10491#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 12:55:08,075 INFO L272 TraceCheckUtils]: 69: Hoare triple {10491#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:55:08,075 INFO L290 TraceCheckUtils]: 70: Hoare triple {10278#true} ~cond := #in~cond; {10480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:55:08,076 INFO L290 TraceCheckUtils]: 71: Hoare triple {10480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:55:08,076 INFO L290 TraceCheckUtils]: 72: Hoare triple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:55:10,085 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} {10491#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #90#return; {10507#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-28 12:55:10,087 INFO L290 TraceCheckUtils]: 74: Hoare triple {10507#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10511#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} is VALID [2022-04-28 12:55:10,089 INFO L272 TraceCheckUtils]: 75: Hoare triple {10511#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:55:10,089 INFO L290 TraceCheckUtils]: 76: Hoare triple {10515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:55:10,090 INFO L290 TraceCheckUtils]: 77: Hoare triple {10519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10279#false} is VALID [2022-04-28 12:55:10,090 INFO L290 TraceCheckUtils]: 78: Hoare triple {10279#false} assume !false; {10279#false} is VALID [2022-04-28 12:55:10,090 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 7 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 12:55:10,090 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:55:54,936 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:55:59,941 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 78: Hoare triple {10279#false} assume !false; {10279#false} is VALID [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 77: Hoare triple {10519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10279#false} is VALID [2022-04-28 12:56:26,727 INFO L290 TraceCheckUtils]: 76: Hoare triple {10515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:26,727 INFO L272 TraceCheckUtils]: 75: Hoare triple {10535#(= (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)); {10515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:26,728 INFO L290 TraceCheckUtils]: 74: Hoare triple {10539#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10535#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 12:56:26,728 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} {10543#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #90#return; {10539#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:56:26,729 INFO L290 TraceCheckUtils]: 72: Hoare triple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:26,729 INFO L290 TraceCheckUtils]: 71: Hoare triple {10553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:26,730 INFO L290 TraceCheckUtils]: 70: Hoare triple {10278#true} ~cond := #in~cond; {10553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:26,730 INFO L272 TraceCheckUtils]: 69: Hoare triple {10543#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,732 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} {10278#true} #88#return; {10543#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:56:26,732 INFO L290 TraceCheckUtils]: 67: Hoare triple {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:26,732 INFO L290 TraceCheckUtils]: 66: Hoare triple {10553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 65: Hoare triple {10278#true} ~cond := #in~cond; {10553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:26,733 INFO L272 TraceCheckUtils]: 64: Hoare triple {10278#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 63: Hoare triple {10278#true} assume !!(#t~post7 < 10);havoc #t~post7; {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 62: Hoare triple {10278#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 61: Hoare triple {10278#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 60: Hoare triple {10278#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10278#true} {10278#true} #90#return; {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 58: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 57: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,733 INFO L290 TraceCheckUtils]: 56: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L272 TraceCheckUtils]: 55: Hoare triple {10278#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10278#true} {10278#true} #88#return; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 53: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 52: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 51: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L272 TraceCheckUtils]: 50: Hoare triple {10278#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 49: Hoare triple {10278#true} assume !!(#t~post7 < 10);havoc #t~post7; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 48: Hoare triple {10278#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 47: Hoare triple {10278#true} assume !(~r~0 >= ~d~0); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10278#true} {10278#true} #86#return; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 45: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 44: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L272 TraceCheckUtils]: 42: Hoare triple {10278#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,734 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10278#true} {10278#true} #84#return; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 40: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 38: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L272 TraceCheckUtils]: 37: Hoare triple {10278#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10278#true} {10278#true} #82#return; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 33: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L272 TraceCheckUtils]: 32: Hoare triple {10278#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {10278#true} assume !!(#t~post6 < 10);havoc #t~post6; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {10278#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {10278#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10278#true} {10278#true} #86#return; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L272 TraceCheckUtils]: 24: Hoare triple {10278#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10278#true} {10278#true} #84#return; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L272 TraceCheckUtils]: 19: Hoare triple {10278#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10278#true} {10278#true} #82#return; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L272 TraceCheckUtils]: 14: Hoare triple {10278#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {10278#true} assume !!(#t~post6 < 10);havoc #t~post6; {10278#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 12: Hoare triple {10278#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {10278#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10278#true} {10278#true} #80#return; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {10278#true} assume !(0 == ~cond); {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {10278#true} ~cond := #in~cond; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {10278#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {10278#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {10278#true} call #t~ret8 := main(); {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10278#true} {10278#true} #96#return; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {10278#true} assume true; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {10278#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {10278#true} call ULTIMATE.init(); {10278#true} is VALID [2022-04-28 12:56:26,737 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 12:56:26,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:26,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1892058696] [2022-04-28 12:56:26,738 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:26,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1009361276] [2022-04-28 12:56:26,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1009361276] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:26,738 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:26,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 12:56:26,738 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:26,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [266462173] [2022-04-28 12:56:26,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [266462173] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:26,738 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:26,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:56:26,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2032747456] [2022-04-28 12:56:26,739 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:26,739 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 12:56:26,739 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:26,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:56:28,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:28,786 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:56:28,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:28,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:56:28,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:56:28,787 INFO L87 Difference]: Start difference. First operand 143 states and 160 transitions. Second operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:56:32,144 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:56:37,859 WARN L232 SmtUtils]: Spent 5.62s on a formula simplification. DAG size of input: 57 DAG size of output: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:56:38,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:38,554 INFO L93 Difference]: Finished difference Result 159 states and 181 transitions. [2022-04-28 12:56:38,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:56:38,554 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 12:56:38,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:38,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:56:38,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 12:56:38,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:56:38,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 12:56:38,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 12:56:40,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:40,640 INFO L225 Difference]: With dead ends: 159 [2022-04-28 12:56:40,640 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 12:56:40,641 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:56:40,641 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 16 mSDsluCounter, 183 mSDsCounter, 0 mSdLazyCounter, 268 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 221 SdHoareTripleChecker+Invalid, 276 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 268 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 5 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:40,641 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 221 Invalid, 276 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 268 Invalid, 1 Unknown, 5 Unchecked, 2.8s Time] [2022-04-28 12:56:40,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 12:56:40,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 125. [2022-04-28 12:56:40,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:40,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:40,739 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:40,739 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:40,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:40,764 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-28 12:56:40,764 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-28 12:56:40,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:40,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:40,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-28 12:56:40,766 INFO L87 Difference]: Start difference. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-28 12:56:40,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:40,768 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-28 12:56:40,768 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-28 12:56:40,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:40,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:40,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:40,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:40,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:40,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 145 transitions. [2022-04-28 12:56:40,771 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 145 transitions. Word has length 79 [2022-04-28 12:56:40,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:40,771 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 145 transitions. [2022-04-28 12:56:40,772 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:56:40,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 145 transitions. [2022-04-28 12:56:42,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 144 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:42,943 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 145 transitions. [2022-04-28 12:56:42,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:56:42,944 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:42,944 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:42,964 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:43,154 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 12:56:43,157 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:43,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:43,157 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-28 12:56:43,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:43,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2032698298] [2022-04-28 12:56:47,345 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:56:47,345 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:56:47,345 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-28 12:56:47,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:47,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763085781] [2022-04-28 12:56:47,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:47,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:47,355 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:47,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1042949204] [2022-04-28 12:56:47,355 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:56:47,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:47,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:47,356 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:47,357 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:56:47,403 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:56:47,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:47,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:56:47,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:47,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:47,644 INFO L272 TraceCheckUtils]: 0: Hoare triple {11598#true} call ULTIMATE.init(); {11598#true} is VALID [2022-04-28 12:56:47,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {11598#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {11606#(<= ~counter~0 0)} assume true; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11606#(<= ~counter~0 0)} {11598#true} #96#return; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {11606#(<= ~counter~0 0)} call #t~ret8 := main(); {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {11606#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {11606#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,647 INFO L290 TraceCheckUtils]: 7: Hoare triple {11606#(<= ~counter~0 0)} ~cond := #in~cond; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,647 INFO L290 TraceCheckUtils]: 8: Hoare triple {11606#(<= ~counter~0 0)} assume !(0 == ~cond); {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {11606#(<= ~counter~0 0)} assume true; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11606#(<= ~counter~0 0)} {11606#(<= ~counter~0 0)} #80#return; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {11606#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11606#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:47,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {11606#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {11640#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,649 INFO L272 TraceCheckUtils]: 14: Hoare triple {11640#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {11640#(<= ~counter~0 1)} ~cond := #in~cond; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {11640#(<= ~counter~0 1)} assume !(0 == ~cond); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {11640#(<= ~counter~0 1)} assume true; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,651 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11640#(<= ~counter~0 1)} {11640#(<= ~counter~0 1)} #82#return; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,651 INFO L272 TraceCheckUtils]: 19: Hoare triple {11640#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {11640#(<= ~counter~0 1)} ~cond := #in~cond; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {11640#(<= ~counter~0 1)} assume !(0 == ~cond); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {11640#(<= ~counter~0 1)} assume true; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,652 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11640#(<= ~counter~0 1)} {11640#(<= ~counter~0 1)} #84#return; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,653 INFO L272 TraceCheckUtils]: 24: Hoare triple {11640#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {11640#(<= ~counter~0 1)} ~cond := #in~cond; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {11640#(<= ~counter~0 1)} assume !(0 == ~cond); {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {11640#(<= ~counter~0 1)} assume true; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,654 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11640#(<= ~counter~0 1)} {11640#(<= ~counter~0 1)} #86#return; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {11640#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11640#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:47,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {11640#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {11695#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,655 INFO L272 TraceCheckUtils]: 32: Hoare triple {11695#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,656 INFO L290 TraceCheckUtils]: 33: Hoare triple {11695#(<= ~counter~0 2)} ~cond := #in~cond; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {11695#(<= ~counter~0 2)} assume !(0 == ~cond); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {11695#(<= ~counter~0 2)} assume true; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,657 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11695#(<= ~counter~0 2)} {11695#(<= ~counter~0 2)} #82#return; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,657 INFO L272 TraceCheckUtils]: 37: Hoare triple {11695#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {11695#(<= ~counter~0 2)} ~cond := #in~cond; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {11695#(<= ~counter~0 2)} assume !(0 == ~cond); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {11695#(<= ~counter~0 2)} assume true; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,658 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11695#(<= ~counter~0 2)} {11695#(<= ~counter~0 2)} #84#return; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,659 INFO L272 TraceCheckUtils]: 42: Hoare triple {11695#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,659 INFO L290 TraceCheckUtils]: 43: Hoare triple {11695#(<= ~counter~0 2)} ~cond := #in~cond; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,659 INFO L290 TraceCheckUtils]: 44: Hoare triple {11695#(<= ~counter~0 2)} assume !(0 == ~cond); {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,660 INFO L290 TraceCheckUtils]: 45: Hoare triple {11695#(<= ~counter~0 2)} assume true; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,660 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11695#(<= ~counter~0 2)} {11695#(<= ~counter~0 2)} #86#return; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,661 INFO L290 TraceCheckUtils]: 47: Hoare triple {11695#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11695#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:47,661 INFO L290 TraceCheckUtils]: 48: Hoare triple {11695#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,661 INFO L290 TraceCheckUtils]: 49: Hoare triple {11750#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,662 INFO L272 TraceCheckUtils]: 50: Hoare triple {11750#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,662 INFO L290 TraceCheckUtils]: 51: Hoare triple {11750#(<= ~counter~0 3)} ~cond := #in~cond; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,662 INFO L290 TraceCheckUtils]: 52: Hoare triple {11750#(<= ~counter~0 3)} assume !(0 == ~cond); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,662 INFO L290 TraceCheckUtils]: 53: Hoare triple {11750#(<= ~counter~0 3)} assume true; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,663 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11750#(<= ~counter~0 3)} {11750#(<= ~counter~0 3)} #82#return; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,663 INFO L272 TraceCheckUtils]: 55: Hoare triple {11750#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,664 INFO L290 TraceCheckUtils]: 56: Hoare triple {11750#(<= ~counter~0 3)} ~cond := #in~cond; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,664 INFO L290 TraceCheckUtils]: 57: Hoare triple {11750#(<= ~counter~0 3)} assume !(0 == ~cond); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,664 INFO L290 TraceCheckUtils]: 58: Hoare triple {11750#(<= ~counter~0 3)} assume true; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,665 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11750#(<= ~counter~0 3)} {11750#(<= ~counter~0 3)} #84#return; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,665 INFO L272 TraceCheckUtils]: 60: Hoare triple {11750#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {11750#(<= ~counter~0 3)} ~cond := #in~cond; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,666 INFO L290 TraceCheckUtils]: 62: Hoare triple {11750#(<= ~counter~0 3)} assume !(0 == ~cond); {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,666 INFO L290 TraceCheckUtils]: 63: Hoare triple {11750#(<= ~counter~0 3)} assume true; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,666 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11750#(<= ~counter~0 3)} {11750#(<= ~counter~0 3)} #86#return; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,667 INFO L290 TraceCheckUtils]: 65: Hoare triple {11750#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11750#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:47,667 INFO L290 TraceCheckUtils]: 66: Hoare triple {11750#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11805#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:56:47,667 INFO L290 TraceCheckUtils]: 67: Hoare triple {11805#(<= |main_#t~post6| 3)} assume !(#t~post6 < 10);havoc #t~post6; {11599#false} is VALID [2022-04-28 12:56:47,667 INFO L290 TraceCheckUtils]: 68: Hoare triple {11599#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 69: Hoare triple {11599#false} assume !(#t~post7 < 10);havoc #t~post7; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L272 TraceCheckUtils]: 70: Hoare triple {11599#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 71: Hoare triple {11599#false} ~cond := #in~cond; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 72: Hoare triple {11599#false} assume !(0 == ~cond); {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 73: Hoare triple {11599#false} assume true; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11599#false} {11599#false} #92#return; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L272 TraceCheckUtils]: 75: Hoare triple {11599#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 76: Hoare triple {11599#false} ~cond := #in~cond; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 77: Hoare triple {11599#false} assume 0 == ~cond; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L290 TraceCheckUtils]: 78: Hoare triple {11599#false} assume !false; {11599#false} is VALID [2022-04-28 12:56:47,668 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 12:56:47,669 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:47,968 INFO L290 TraceCheckUtils]: 78: Hoare triple {11599#false} assume !false; {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 77: Hoare triple {11599#false} assume 0 == ~cond; {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 76: Hoare triple {11599#false} ~cond := #in~cond; {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L272 TraceCheckUtils]: 75: Hoare triple {11599#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11598#true} {11599#false} #92#return; {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 73: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 72: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 71: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,969 INFO L272 TraceCheckUtils]: 70: Hoare triple {11599#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 69: Hoare triple {11599#false} assume !(#t~post7 < 10);havoc #t~post7; {11599#false} is VALID [2022-04-28 12:56:47,969 INFO L290 TraceCheckUtils]: 68: Hoare triple {11599#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11599#false} is VALID [2022-04-28 12:56:47,970 INFO L290 TraceCheckUtils]: 67: Hoare triple {11875#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {11599#false} is VALID [2022-04-28 12:56:47,970 INFO L290 TraceCheckUtils]: 66: Hoare triple {11879#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11875#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:56:47,970 INFO L290 TraceCheckUtils]: 65: Hoare triple {11879#(< ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,971 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11598#true} {11879#(< ~counter~0 10)} #86#return; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,971 INFO L290 TraceCheckUtils]: 63: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,971 INFO L290 TraceCheckUtils]: 62: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,971 INFO L290 TraceCheckUtils]: 61: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,971 INFO L272 TraceCheckUtils]: 60: Hoare triple {11879#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11598#true} {11879#(< ~counter~0 10)} #84#return; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 58: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 57: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 56: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L272 TraceCheckUtils]: 55: Hoare triple {11879#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11598#true} {11879#(< ~counter~0 10)} #82#return; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 53: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 52: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,972 INFO L290 TraceCheckUtils]: 51: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,973 INFO L272 TraceCheckUtils]: 50: Hoare triple {11879#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,973 INFO L290 TraceCheckUtils]: 49: Hoare triple {11879#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,973 INFO L290 TraceCheckUtils]: 48: Hoare triple {11934#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11879#(< ~counter~0 10)} is VALID [2022-04-28 12:56:47,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {11934#(< ~counter~0 9)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,974 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11598#true} {11934#(< ~counter~0 9)} #86#return; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,974 INFO L290 TraceCheckUtils]: 45: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,974 INFO L272 TraceCheckUtils]: 42: Hoare triple {11934#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,975 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11598#true} {11934#(< ~counter~0 9)} #84#return; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,975 INFO L272 TraceCheckUtils]: 37: Hoare triple {11934#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,976 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11598#true} {11934#(< ~counter~0 9)} #82#return; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,976 INFO L290 TraceCheckUtils]: 34: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,976 INFO L290 TraceCheckUtils]: 33: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,976 INFO L272 TraceCheckUtils]: 32: Hoare triple {11934#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {11934#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {11989#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11934#(< ~counter~0 9)} is VALID [2022-04-28 12:56:47,977 INFO L290 TraceCheckUtils]: 29: Hoare triple {11989#(< ~counter~0 8)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,977 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11598#true} {11989#(< ~counter~0 8)} #86#return; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,977 INFO L290 TraceCheckUtils]: 27: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L272 TraceCheckUtils]: 24: Hoare triple {11989#(< ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11598#true} {11989#(< ~counter~0 8)} #84#return; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,978 INFO L290 TraceCheckUtils]: 22: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L290 TraceCheckUtils]: 20: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,978 INFO L272 TraceCheckUtils]: 19: Hoare triple {11989#(< ~counter~0 8)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,979 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11598#true} {11989#(< ~counter~0 8)} #82#return; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,979 INFO L272 TraceCheckUtils]: 14: Hoare triple {11989#(< ~counter~0 8)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {11989#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,980 INFO L290 TraceCheckUtils]: 12: Hoare triple {12044#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11989#(< ~counter~0 8)} is VALID [2022-04-28 12:56:47,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {12044#(< ~counter~0 7)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,980 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11598#true} {12044#(< ~counter~0 7)} #80#return; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {11598#true} assume true; {11598#true} is VALID [2022-04-28 12:56:47,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {11598#true} assume !(0 == ~cond); {11598#true} is VALID [2022-04-28 12:56:47,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {11598#true} ~cond := #in~cond; {11598#true} is VALID [2022-04-28 12:56:47,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {12044#(< ~counter~0 7)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11598#true} is VALID [2022-04-28 12:56:47,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {12044#(< ~counter~0 7)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {12044#(< ~counter~0 7)} call #t~ret8 := main(); {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12044#(< ~counter~0 7)} {11598#true} #96#return; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {12044#(< ~counter~0 7)} assume true; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {11598#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12044#(< ~counter~0 7)} is VALID [2022-04-28 12:56:47,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {11598#true} call ULTIMATE.init(); {11598#true} is VALID [2022-04-28 12:56:47,983 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 12:56:47,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:47,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763085781] [2022-04-28 12:56:47,983 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:47,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1042949204] [2022-04-28 12:56:47,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1042949204] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:47,983 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:47,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:56:47,983 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:47,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2032698298] [2022-04-28 12:56:47,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2032698298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:47,984 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:47,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:56:47,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [156288310] [2022-04-28 12:56:47,984 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:47,984 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 12:56:47,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:47,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:56:48,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:48,029 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:56:48,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:48,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:56:48,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:56:48,030 INFO L87 Difference]: Start difference. First operand 125 states and 145 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:56:48,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:48,326 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-28 12:56:48,327 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:56:48,327 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 12:56:48,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:48,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:56:48,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-28 12:56:48,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:56:48,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-28 12:56:48,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 102 transitions. [2022-04-28 12:56:48,388 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:48,391 INFO L225 Difference]: With dead ends: 170 [2022-04-28 12:56:48,391 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 12:56:48,391 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:56:48,392 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:48,392 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 177 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:56:48,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 12:56:48,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 127. [2022-04-28 12:56:48,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:48,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:48,488 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:48,488 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:48,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:48,490 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-28 12:56:48,490 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 12:56:48,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:48,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:48,491 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 12:56:48,491 INFO L87 Difference]: Start difference. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 12:56:48,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:48,493 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-28 12:56:48,493 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 12:56:48,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:48,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:48,493 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:48,493 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:48,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:56:48,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 147 transitions. [2022-04-28 12:56:48,496 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 147 transitions. Word has length 79 [2022-04-28 12:56:48,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:48,496 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 147 transitions. [2022-04-28 12:56:48,496 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:56:48,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 147 transitions. [2022-04-28 12:56:50,671 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 146 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:50,672 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 12:56:50,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:56:50,672 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:50,673 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:50,690 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:50,873 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 12:56:50,873 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:50,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:50,873 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 3 times [2022-04-28 12:56:50,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:50,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [168613240] [2022-04-28 12:56:59,102 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:56:59,102 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:56:59,102 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 4 times [2022-04-28 12:56:59,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:59,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1562508691] [2022-04-28 12:56:59,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:59,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:59,124 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:59,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1034177812] [2022-04-28 12:56:59,124 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:56:59,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:59,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:59,135 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:59,136 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:56:59,199 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:56:59,199 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:59,200 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:56:59,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:59,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:59,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {12937#true} call ULTIMATE.init(); {12937#true} is VALID [2022-04-28 12:56:59,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {12937#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {12945#(<= ~counter~0 0)} assume true; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12945#(<= ~counter~0 0)} {12937#true} #96#return; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {12945#(<= ~counter~0 0)} call #t~ret8 := main(); {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {12945#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,541 INFO L272 TraceCheckUtils]: 6: Hoare triple {12945#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {12945#(<= ~counter~0 0)} ~cond := #in~cond; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {12945#(<= ~counter~0 0)} assume !(0 == ~cond); {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {12945#(<= ~counter~0 0)} assume true; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12945#(<= ~counter~0 0)} {12945#(<= ~counter~0 0)} #80#return; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {12945#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12945#(<= ~counter~0 0)} is VALID [2022-04-28 12:56:59,543 INFO L290 TraceCheckUtils]: 12: Hoare triple {12945#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {12979#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,543 INFO L272 TraceCheckUtils]: 14: Hoare triple {12979#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {12979#(<= ~counter~0 1)} ~cond := #in~cond; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {12979#(<= ~counter~0 1)} assume !(0 == ~cond); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {12979#(<= ~counter~0 1)} assume true; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,558 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12979#(<= ~counter~0 1)} {12979#(<= ~counter~0 1)} #82#return; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,559 INFO L272 TraceCheckUtils]: 19: Hoare triple {12979#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {12979#(<= ~counter~0 1)} ~cond := #in~cond; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,559 INFO L290 TraceCheckUtils]: 21: Hoare triple {12979#(<= ~counter~0 1)} assume !(0 == ~cond); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,559 INFO L290 TraceCheckUtils]: 22: Hoare triple {12979#(<= ~counter~0 1)} assume true; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,560 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12979#(<= ~counter~0 1)} {12979#(<= ~counter~0 1)} #84#return; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,560 INFO L272 TraceCheckUtils]: 24: Hoare triple {12979#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {12979#(<= ~counter~0 1)} ~cond := #in~cond; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {12979#(<= ~counter~0 1)} assume !(0 == ~cond); {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {12979#(<= ~counter~0 1)} assume true; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,561 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12979#(<= ~counter~0 1)} {12979#(<= ~counter~0 1)} #86#return; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {12979#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12979#(<= ~counter~0 1)} is VALID [2022-04-28 12:56:59,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {12979#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {13034#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,562 INFO L272 TraceCheckUtils]: 32: Hoare triple {13034#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {13034#(<= ~counter~0 2)} ~cond := #in~cond; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {13034#(<= ~counter~0 2)} assume !(0 == ~cond); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {13034#(<= ~counter~0 2)} assume true; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,564 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13034#(<= ~counter~0 2)} {13034#(<= ~counter~0 2)} #82#return; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,564 INFO L272 TraceCheckUtils]: 37: Hoare triple {13034#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,564 INFO L290 TraceCheckUtils]: 38: Hoare triple {13034#(<= ~counter~0 2)} ~cond := #in~cond; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {13034#(<= ~counter~0 2)} assume !(0 == ~cond); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {13034#(<= ~counter~0 2)} assume true; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,565 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13034#(<= ~counter~0 2)} {13034#(<= ~counter~0 2)} #84#return; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,565 INFO L272 TraceCheckUtils]: 42: Hoare triple {13034#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,566 INFO L290 TraceCheckUtils]: 43: Hoare triple {13034#(<= ~counter~0 2)} ~cond := #in~cond; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,566 INFO L290 TraceCheckUtils]: 44: Hoare triple {13034#(<= ~counter~0 2)} assume !(0 == ~cond); {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,566 INFO L290 TraceCheckUtils]: 45: Hoare triple {13034#(<= ~counter~0 2)} assume true; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,567 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13034#(<= ~counter~0 2)} {13034#(<= ~counter~0 2)} #86#return; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,567 INFO L290 TraceCheckUtils]: 47: Hoare triple {13034#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13034#(<= ~counter~0 2)} is VALID [2022-04-28 12:56:59,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {13034#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {13089#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,568 INFO L272 TraceCheckUtils]: 50: Hoare triple {13089#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {13089#(<= ~counter~0 3)} ~cond := #in~cond; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,569 INFO L290 TraceCheckUtils]: 52: Hoare triple {13089#(<= ~counter~0 3)} assume !(0 == ~cond); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,569 INFO L290 TraceCheckUtils]: 53: Hoare triple {13089#(<= ~counter~0 3)} assume true; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,569 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13089#(<= ~counter~0 3)} {13089#(<= ~counter~0 3)} #82#return; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,570 INFO L272 TraceCheckUtils]: 55: Hoare triple {13089#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,570 INFO L290 TraceCheckUtils]: 56: Hoare triple {13089#(<= ~counter~0 3)} ~cond := #in~cond; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,570 INFO L290 TraceCheckUtils]: 57: Hoare triple {13089#(<= ~counter~0 3)} assume !(0 == ~cond); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,570 INFO L290 TraceCheckUtils]: 58: Hoare triple {13089#(<= ~counter~0 3)} assume true; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,571 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13089#(<= ~counter~0 3)} {13089#(<= ~counter~0 3)} #84#return; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,580 INFO L272 TraceCheckUtils]: 60: Hoare triple {13089#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,581 INFO L290 TraceCheckUtils]: 61: Hoare triple {13089#(<= ~counter~0 3)} ~cond := #in~cond; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {13089#(<= ~counter~0 3)} assume !(0 == ~cond); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,581 INFO L290 TraceCheckUtils]: 63: Hoare triple {13089#(<= ~counter~0 3)} assume true; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,582 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13089#(<= ~counter~0 3)} {13089#(<= ~counter~0 3)} #86#return; {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,582 INFO L290 TraceCheckUtils]: 65: Hoare triple {13089#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {13089#(<= ~counter~0 3)} is VALID [2022-04-28 12:56:59,583 INFO L290 TraceCheckUtils]: 66: Hoare triple {13089#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,583 INFO L290 TraceCheckUtils]: 67: Hoare triple {13144#(<= ~counter~0 4)} assume !!(#t~post7 < 10);havoc #t~post7; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,583 INFO L272 TraceCheckUtils]: 68: Hoare triple {13144#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,583 INFO L290 TraceCheckUtils]: 69: Hoare triple {13144#(<= ~counter~0 4)} ~cond := #in~cond; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,584 INFO L290 TraceCheckUtils]: 70: Hoare triple {13144#(<= ~counter~0 4)} assume !(0 == ~cond); {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,584 INFO L290 TraceCheckUtils]: 71: Hoare triple {13144#(<= ~counter~0 4)} assume true; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,584 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13144#(<= ~counter~0 4)} {13144#(<= ~counter~0 4)} #88#return; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,585 INFO L272 TraceCheckUtils]: 73: Hoare triple {13144#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,585 INFO L290 TraceCheckUtils]: 74: Hoare triple {13144#(<= ~counter~0 4)} ~cond := #in~cond; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,585 INFO L290 TraceCheckUtils]: 75: Hoare triple {13144#(<= ~counter~0 4)} assume !(0 == ~cond); {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,586 INFO L290 TraceCheckUtils]: 76: Hoare triple {13144#(<= ~counter~0 4)} assume true; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,586 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13144#(<= ~counter~0 4)} {13144#(<= ~counter~0 4)} #90#return; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,586 INFO L290 TraceCheckUtils]: 78: Hoare triple {13144#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,586 INFO L290 TraceCheckUtils]: 79: Hoare triple {13144#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13144#(<= ~counter~0 4)} is VALID [2022-04-28 12:56:59,587 INFO L290 TraceCheckUtils]: 80: Hoare triple {13144#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13187#(<= |main_#t~post7| 4)} is VALID [2022-04-28 12:56:59,587 INFO L290 TraceCheckUtils]: 81: Hoare triple {13187#(<= |main_#t~post7| 4)} assume !(#t~post7 < 10);havoc #t~post7; {12938#false} is VALID [2022-04-28 12:56:59,587 INFO L272 TraceCheckUtils]: 82: Hoare triple {12938#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12938#false} is VALID [2022-04-28 12:56:59,587 INFO L290 TraceCheckUtils]: 83: Hoare triple {12938#false} ~cond := #in~cond; {12938#false} is VALID [2022-04-28 12:56:59,587 INFO L290 TraceCheckUtils]: 84: Hoare triple {12938#false} assume 0 == ~cond; {12938#false} is VALID [2022-04-28 12:56:59,587 INFO L290 TraceCheckUtils]: 85: Hoare triple {12938#false} assume !false; {12938#false} is VALID [2022-04-28 12:56:59,591 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 200 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 12:56:59,591 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:59,925 INFO L290 TraceCheckUtils]: 85: Hoare triple {12938#false} assume !false; {12938#false} is VALID [2022-04-28 12:56:59,925 INFO L290 TraceCheckUtils]: 84: Hoare triple {12938#false} assume 0 == ~cond; {12938#false} is VALID [2022-04-28 12:56:59,925 INFO L290 TraceCheckUtils]: 83: Hoare triple {12938#false} ~cond := #in~cond; {12938#false} is VALID [2022-04-28 12:56:59,925 INFO L272 TraceCheckUtils]: 82: Hoare triple {12938#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12938#false} is VALID [2022-04-28 12:56:59,926 INFO L290 TraceCheckUtils]: 81: Hoare triple {13215#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {12938#false} is VALID [2022-04-28 12:56:59,926 INFO L290 TraceCheckUtils]: 80: Hoare triple {13219#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13215#(< |main_#t~post7| 10)} is VALID [2022-04-28 12:56:59,926 INFO L290 TraceCheckUtils]: 79: Hoare triple {13219#(< ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,927 INFO L290 TraceCheckUtils]: 78: Hoare triple {13219#(< ~counter~0 10)} 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); {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,927 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12937#true} {13219#(< ~counter~0 10)} #90#return; {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,927 INFO L290 TraceCheckUtils]: 76: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,927 INFO L290 TraceCheckUtils]: 75: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,927 INFO L290 TraceCheckUtils]: 74: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,927 INFO L272 TraceCheckUtils]: 73: Hoare triple {13219#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,928 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12937#true} {13219#(< ~counter~0 10)} #88#return; {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,928 INFO L290 TraceCheckUtils]: 71: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,928 INFO L272 TraceCheckUtils]: 68: Hoare triple {13219#(< ~counter~0 10)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,928 INFO L290 TraceCheckUtils]: 67: Hoare triple {13219#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,929 INFO L290 TraceCheckUtils]: 66: Hoare triple {13262#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13219#(< ~counter~0 10)} is VALID [2022-04-28 12:56:59,929 INFO L290 TraceCheckUtils]: 65: Hoare triple {13262#(< ~counter~0 9)} assume !(~r~0 >= ~d~0); {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,930 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {12937#true} {13262#(< ~counter~0 9)} #86#return; {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,930 INFO L290 TraceCheckUtils]: 63: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,930 INFO L290 TraceCheckUtils]: 62: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,930 INFO L290 TraceCheckUtils]: 61: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,930 INFO L272 TraceCheckUtils]: 60: Hoare triple {13262#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,930 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12937#true} {13262#(< ~counter~0 9)} #84#return; {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 58: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 57: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 56: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L272 TraceCheckUtils]: 55: Hoare triple {13262#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12937#true} {13262#(< ~counter~0 9)} #82#return; {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 53: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 52: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L290 TraceCheckUtils]: 51: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,931 INFO L272 TraceCheckUtils]: 50: Hoare triple {13262#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,932 INFO L290 TraceCheckUtils]: 49: Hoare triple {13262#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,932 INFO L290 TraceCheckUtils]: 48: Hoare triple {13317#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13262#(< ~counter~0 9)} is VALID [2022-04-28 12:56:59,932 INFO L290 TraceCheckUtils]: 47: Hoare triple {13317#(< ~counter~0 8)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,933 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12937#true} {13317#(< ~counter~0 8)} #86#return; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,933 INFO L290 TraceCheckUtils]: 43: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,933 INFO L272 TraceCheckUtils]: 42: Hoare triple {13317#(< ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12937#true} {13317#(< ~counter~0 8)} #84#return; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 40: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 39: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 38: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L272 TraceCheckUtils]: 37: Hoare triple {13317#(< ~counter~0 8)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12937#true} {13317#(< ~counter~0 8)} #82#return; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 35: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 34: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,934 INFO L290 TraceCheckUtils]: 33: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,935 INFO L272 TraceCheckUtils]: 32: Hoare triple {13317#(< ~counter~0 8)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,935 INFO L290 TraceCheckUtils]: 31: Hoare triple {13317#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,935 INFO L290 TraceCheckUtils]: 30: Hoare triple {13372#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13317#(< ~counter~0 8)} is VALID [2022-04-28 12:56:59,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {13372#(< ~counter~0 7)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,936 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12937#true} {13372#(< ~counter~0 7)} #86#return; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,936 INFO L290 TraceCheckUtils]: 26: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,936 INFO L272 TraceCheckUtils]: 24: Hoare triple {13372#(< ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,937 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12937#true} {13372#(< ~counter~0 7)} #84#return; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,937 INFO L290 TraceCheckUtils]: 21: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,937 INFO L272 TraceCheckUtils]: 19: Hoare triple {13372#(< ~counter~0 7)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,937 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12937#true} {13372#(< ~counter~0 7)} #82#return; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,937 INFO L290 TraceCheckUtils]: 17: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,938 INFO L290 TraceCheckUtils]: 16: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,938 INFO L290 TraceCheckUtils]: 15: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,938 INFO L272 TraceCheckUtils]: 14: Hoare triple {13372#(< ~counter~0 7)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,938 INFO L290 TraceCheckUtils]: 12: Hoare triple {13427#(< ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13372#(< ~counter~0 7)} is VALID [2022-04-28 12:56:59,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {13427#(< ~counter~0 6)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12937#true} {13427#(< ~counter~0 6)} #80#return; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {12937#true} assume true; {12937#true} is VALID [2022-04-28 12:56:59,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {12937#true} assume !(0 == ~cond); {12937#true} is VALID [2022-04-28 12:56:59,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {12937#true} ~cond := #in~cond; {12937#true} is VALID [2022-04-28 12:56:59,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {13427#(< ~counter~0 6)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12937#true} is VALID [2022-04-28 12:56:59,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {13427#(< ~counter~0 6)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {13427#(< ~counter~0 6)} call #t~ret8 := main(); {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13427#(< ~counter~0 6)} {12937#true} #96#return; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {13427#(< ~counter~0 6)} assume true; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {12937#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13427#(< ~counter~0 6)} is VALID [2022-04-28 12:56:59,941 INFO L272 TraceCheckUtils]: 0: Hoare triple {12937#true} call ULTIMATE.init(); {12937#true} is VALID [2022-04-28 12:56:59,941 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 20 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 12:56:59,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:59,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1562508691] [2022-04-28 12:56:59,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:59,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1034177812] [2022-04-28 12:56:59,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1034177812] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:59,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:59,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:56:59,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:59,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [168613240] [2022-04-28 12:56:59,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [168613240] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:59,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:59,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:56:59,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556014207] [2022-04-28 12:56:59,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:59,943 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-28 12:56:59,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:59,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:56:59,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:59,992 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:56:59,992 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:59,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:56:59,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:56:59,992 INFO L87 Difference]: Start difference. First operand 127 states and 147 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:00,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:00,497 INFO L93 Difference]: Finished difference Result 179 states and 206 transitions. [2022-04-28 12:57:00,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:57:00,497 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-28 12:57:00,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:00,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:00,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-28 12:57:00,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:00,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-28 12:57:00,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 119 transitions. [2022-04-28 12:57:00,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:00,590 INFO L225 Difference]: With dead ends: 179 [2022-04-28 12:57:00,590 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:57:00,591 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 159 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=129, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:57:00,591 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 50 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:00,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 185 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:57:00,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:57:00,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 161. [2022-04-28 12:57:00,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:00,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:57:00,736 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:57:00,737 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:57:00,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:00,739 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-28 12:57:00,739 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-28 12:57:00,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:00,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:00,740 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-28 12:57:00,740 INFO L87 Difference]: Start difference. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-28 12:57:00,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:00,743 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-28 12:57:00,743 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-28 12:57:00,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:00,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:00,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:00,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:00,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:57:00,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-28 12:57:00,748 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 86 [2022-04-28 12:57:00,748 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:00,748 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-28 12:57:00,749 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:00,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-28 12:57:02,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:02,966 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 12:57:02,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:57:02,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:02,966 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:02,984 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 12:57:03,167 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:03,167 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:03,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:03,167 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 5 times [2022-04-28 12:57:03,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:03,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1794567709] [2022-04-28 12:57:09,725 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 12:57:09,726 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 12:57:09,726 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 6 times [2022-04-28 12:57:09,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:09,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1297611402] [2022-04-28 12:57:09,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:09,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:09,741 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:09,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [21429074] [2022-04-28 12:57:09,741 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:57:09,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:09,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:09,758 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:09,759 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:57:09,812 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 12:57:09,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:09,813 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 12:57:09,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:09,833 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:58:28,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {14476#true} call ULTIMATE.init(); {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {14476#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14476#true} {14476#true} #96#return; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {14476#true} call #t~ret8 := main(); {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {14476#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {14476#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14476#true} {14476#true} #80#return; {14476#true} is VALID [2022-04-28 12:58:28,270 INFO L290 TraceCheckUtils]: 11: Hoare triple {14476#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,270 INFO L290 TraceCheckUtils]: 12: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,271 INFO L272 TraceCheckUtils]: 14: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,271 INFO L290 TraceCheckUtils]: 17: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,271 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,271 INFO L272 TraceCheckUtils]: 19: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L290 TraceCheckUtils]: 21: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L290 TraceCheckUtils]: 22: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,272 INFO L272 TraceCheckUtils]: 24: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L290 TraceCheckUtils]: 25: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,272 INFO L290 TraceCheckUtils]: 27: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,273 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,274 INFO L272 TraceCheckUtils]: 32: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,274 INFO L290 TraceCheckUtils]: 33: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,274 INFO L290 TraceCheckUtils]: 34: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,274 INFO L290 TraceCheckUtils]: 35: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,275 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,275 INFO L272 TraceCheckUtils]: 37: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,275 INFO L290 TraceCheckUtils]: 38: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,275 INFO L290 TraceCheckUtils]: 39: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,275 INFO L290 TraceCheckUtils]: 40: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,275 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,276 INFO L272 TraceCheckUtils]: 42: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,276 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14476#true} {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,277 INFO L290 TraceCheckUtils]: 47: Hoare triple {14514#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,278 INFO L290 TraceCheckUtils]: 48: Hoare triple {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,278 INFO L290 TraceCheckUtils]: 49: Hoare triple {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 10);havoc #t~post6; {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,278 INFO L272 TraceCheckUtils]: 50: Hoare triple {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,278 INFO L290 TraceCheckUtils]: 51: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,278 INFO L290 TraceCheckUtils]: 52: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,278 INFO L290 TraceCheckUtils]: 53: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,279 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14476#true} {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,279 INFO L272 TraceCheckUtils]: 55: Hoare triple {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,279 INFO L290 TraceCheckUtils]: 56: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,279 INFO L290 TraceCheckUtils]: 57: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,279 INFO L290 TraceCheckUtils]: 58: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,280 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14476#true} {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,280 INFO L272 TraceCheckUtils]: 60: Hoare triple {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,280 INFO L290 TraceCheckUtils]: 61: Hoare triple {14476#true} ~cond := #in~cond; {14666#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:28,280 INFO L290 TraceCheckUtils]: 62: Hoare triple {14666#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:28,281 INFO L290 TraceCheckUtils]: 63: Hoare triple {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:58:28,281 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} {14623#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,282 INFO L290 TraceCheckUtils]: 65: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,282 INFO L290 TraceCheckUtils]: 66: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,282 INFO L290 TraceCheckUtils]: 67: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post7 < 10);havoc #t~post7; {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,283 INFO L272 TraceCheckUtils]: 68: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,283 INFO L290 TraceCheckUtils]: 69: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,283 INFO L290 TraceCheckUtils]: 70: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,283 INFO L290 TraceCheckUtils]: 71: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,283 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14476#true} {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,283 INFO L272 TraceCheckUtils]: 73: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 12:58:28,283 INFO L290 TraceCheckUtils]: 74: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 12:58:28,284 INFO L290 TraceCheckUtils]: 75: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 12:58:28,284 INFO L290 TraceCheckUtils]: 76: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 12:58:28,284 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14476#true} {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #90#return; {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 12:58:28,288 INFO L290 TraceCheckUtils]: 78: Hoare triple {14677#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14720#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-28 12:58:28,291 INFO L290 TraceCheckUtils]: 79: Hoare triple {14720#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:58:28,291 INFO L290 TraceCheckUtils]: 80: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:58:28,291 INFO L290 TraceCheckUtils]: 81: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:58:28,292 INFO L272 TraceCheckUtils]: 82: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14734#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:58:28,292 INFO L290 TraceCheckUtils]: 83: Hoare triple {14734#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14738#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:28,293 INFO L290 TraceCheckUtils]: 84: Hoare triple {14738#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14477#false} is VALID [2022-04-28 12:58:28,293 INFO L290 TraceCheckUtils]: 85: Hoare triple {14477#false} assume !false; {14477#false} is VALID [2022-04-28 12:58:28,293 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 57 proven. 10 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 12:58:28,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:59:08,941 WARN L232 SmtUtils]: Spent 18.71s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:00:18,584 INFO L290 TraceCheckUtils]: 85: Hoare triple {14477#false} assume !false; {14477#false} is VALID [2022-04-28 13:00:18,585 INFO L290 TraceCheckUtils]: 84: Hoare triple {14738#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14477#false} is VALID [2022-04-28 13:00:18,585 INFO L290 TraceCheckUtils]: 83: Hoare triple {14734#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14738#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:00:18,586 INFO L272 TraceCheckUtils]: 82: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14734#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:00:18,586 INFO L290 TraceCheckUtils]: 81: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,586 INFO L290 TraceCheckUtils]: 80: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {14763#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,598 INFO L290 TraceCheckUtils]: 78: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14763#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-28 13:00:18,599 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14476#true} {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,599 INFO L290 TraceCheckUtils]: 76: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,599 INFO L290 TraceCheckUtils]: 75: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,599 INFO L290 TraceCheckUtils]: 74: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,599 INFO L272 TraceCheckUtils]: 73: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,600 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14476#true} {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,600 INFO L290 TraceCheckUtils]: 71: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,600 INFO L290 TraceCheckUtils]: 70: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,600 INFO L290 TraceCheckUtils]: 69: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,600 INFO L272 TraceCheckUtils]: 68: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,601 INFO L290 TraceCheckUtils]: 67: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 10);havoc #t~post7; {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,602 INFO L290 TraceCheckUtils]: 66: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,603 INFO L290 TraceCheckUtils]: 65: Hoare triple {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,605 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #86#return; {14767#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:18,605 INFO L290 TraceCheckUtils]: 63: Hoare triple {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:00:18,606 INFO L290 TraceCheckUtils]: 62: Hoare triple {14820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:00:18,606 INFO L290 TraceCheckUtils]: 61: Hoare triple {14476#true} ~cond := #in~cond; {14820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:00:18,606 INFO L272 TraceCheckUtils]: 60: Hoare triple {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,607 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14476#true} {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #84#return; {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 13:00:18,607 INFO L290 TraceCheckUtils]: 58: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,607 INFO L290 TraceCheckUtils]: 57: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,607 INFO L290 TraceCheckUtils]: 56: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,607 INFO L272 TraceCheckUtils]: 55: Hoare triple {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,607 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14476#true} {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #82#return; {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 13:00:18,608 INFO L290 TraceCheckUtils]: 53: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,608 INFO L290 TraceCheckUtils]: 52: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,608 INFO L290 TraceCheckUtils]: 51: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,608 INFO L272 TraceCheckUtils]: 50: Hoare triple {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,609 INFO L290 TraceCheckUtils]: 49: Hoare triple {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !!(#t~post6 < 10);havoc #t~post6; {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 13:00:18,610 INFO L290 TraceCheckUtils]: 48: Hoare triple {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 13:00:18,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14810#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 13:00:18,614 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,614 INFO L272 TraceCheckUtils]: 42: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,614 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,614 INFO L290 TraceCheckUtils]: 39: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L272 TraceCheckUtils]: 37: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L290 TraceCheckUtils]: 34: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,615 INFO L272 TraceCheckUtils]: 32: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,617 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,617 INFO L290 TraceCheckUtils]: 27: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,617 INFO L290 TraceCheckUtils]: 26: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,617 INFO L272 TraceCheckUtils]: 24: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,617 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 22: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 21: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L272 TraceCheckUtils]: 19: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14476#true} {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,619 INFO L272 TraceCheckUtils]: 14: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {14476#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14724#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:18,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14476#true} {14476#true} #80#return; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {14476#true} assume !(0 == ~cond); {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {14476#true} ~cond := #in~cond; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L272 TraceCheckUtils]: 6: Hoare triple {14476#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {14476#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {14476#true} call #t~ret8 := main(); {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14476#true} {14476#true} #96#return; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {14476#true} assume true; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {14476#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14476#true} is VALID [2022-04-28 13:00:18,620 INFO L272 TraceCheckUtils]: 0: Hoare triple {14476#true} call ULTIMATE.init(); {14476#true} is VALID [2022-04-28 13:00:18,621 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 45 proven. 22 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 13:00:18,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:00:18,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1297611402] [2022-04-28 13:00:18,621 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:00:18,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [21429074] [2022-04-28 13:00:18,621 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [21429074] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:00:18,621 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:00:18,621 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-28 13:00:18,621 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:00:18,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1794567709] [2022-04-28 13:00:18,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1794567709] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:00:18,622 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:00:18,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:00:18,622 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [76996322] [2022-04-28 13:00:18,622 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:00:18,622 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 86 [2022-04-28 13:00:18,622 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:00:18,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 13:00:18,671 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 13:00:18,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:00:18,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:00:18,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:00:18,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=163, Unknown=1, NotChecked=0, Total=210 [2022-04-28 13:00:18,672 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 13:00:24,598 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:00:26,132 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-28 13:00:26,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:26,171 INFO L93 Difference]: Finished difference Result 200 states and 235 transitions. [2022-04-28 13:00:26,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:00:26,171 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 86 [2022-04-28 13:00:26,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:00:26,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 13:00:26,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-28 13:00:26,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 13:00:26,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-28 13:00:26,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 109 transitions. [2022-04-28 13:00:26,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:00:26,305 INFO L225 Difference]: With dead ends: 200 [2022-04-28 13:00:26,305 INFO L226 Difference]: Without dead ends: 180 [2022-04-28 13:00:26,305 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 155 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 23.8s TimeCoverageRelationStatistics Valid=59, Invalid=212, Unknown=1, NotChecked=0, Total=272 [2022-04-28 13:00:26,306 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 41 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-28 13:00:26,306 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 152 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-28 13:00:26,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-04-28 13:00:26,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 173. [2022-04-28 13:00:26,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:00:26,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:00:26,450 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:00:26,450 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:00:26,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:26,453 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-28 13:00:26,453 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-28 13:00:26,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:00:26,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:00:26,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-28 13:00:26,454 INFO L87 Difference]: Start difference. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-28 13:00:26,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:26,457 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-28 13:00:26,457 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-28 13:00:26,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:00:26,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:00:26,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:00:26,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:00:26,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:00:26,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 203 transitions. [2022-04-28 13:00:26,460 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 203 transitions. Word has length 86 [2022-04-28 13:00:26,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:00:26,460 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 203 transitions. [2022-04-28 13:00:26,460 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 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 13:00:26,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 203 transitions. [2022-04-28 13:00:28,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 202 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:00:28,720 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 13:00:28,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 13:00:28,720 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:00:28,720 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:00:28,737 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 13:00:28,921 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 13:00:28,921 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:00:28,921 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:00:28,921 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 7 times [2022-04-28 13:00:28,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:00:28,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [364413029] [2022-04-28 13:00:38,833 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:00:38,833 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:00:38,833 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 8 times [2022-04-28 13:00:38,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:00:38,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [454621790] [2022-04-28 13:00:38,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:00:38,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:00:38,843 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:00:38,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [215504472] [2022-04-28 13:00:38,843 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:00:38,843 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:00:38,843 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:00:38,844 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:00:38,845 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 13:00:38,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:00:38,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:00:38,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 13:00:38,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:00:38,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:00:40,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {16116#true} call ULTIMATE.init(); {16116#true} is VALID [2022-04-28 13:00:40,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {16116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16116#true} is VALID [2022-04-28 13:00:40,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16116#true} {16116#true} #96#return; {16116#true} is VALID [2022-04-28 13:00:40,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {16116#true} call #t~ret8 := main(); {16116#true} is VALID [2022-04-28 13:00:40,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {16116#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16116#true} is VALID [2022-04-28 13:00:40,463 INFO L272 TraceCheckUtils]: 6: Hoare triple {16116#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {16116#true} ~cond := #in~cond; {16142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:00:40,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {16142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:00:40,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {16146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:00:40,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16146#(not (= |assume_abort_if_not_#in~cond| 0))} {16116#true} #80#return; {16153#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 13:00:40,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {16153#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,466 INFO L272 TraceCheckUtils]: 14: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,467 INFO L290 TraceCheckUtils]: 17: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,467 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16116#true} {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,467 INFO L272 TraceCheckUtils]: 19: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,467 INFO L290 TraceCheckUtils]: 21: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,468 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16116#true} {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,468 INFO L272 TraceCheckUtils]: 24: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,468 INFO L290 TraceCheckUtils]: 25: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,468 INFO L290 TraceCheckUtils]: 26: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,468 INFO L290 TraceCheckUtils]: 27: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,469 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16116#true} {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:00:40,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {16157#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,471 INFO L272 TraceCheckUtils]: 32: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,471 INFO L290 TraceCheckUtils]: 33: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,471 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16116#true} {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,471 INFO L272 TraceCheckUtils]: 37: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,471 INFO L290 TraceCheckUtils]: 38: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L290 TraceCheckUtils]: 39: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L290 TraceCheckUtils]: 40: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16116#true} {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,472 INFO L272 TraceCheckUtils]: 42: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L290 TraceCheckUtils]: 43: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L290 TraceCheckUtils]: 44: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,472 INFO L290 TraceCheckUtils]: 45: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,473 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16116#true} {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #86#return; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,474 INFO L290 TraceCheckUtils]: 47: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,474 INFO L290 TraceCheckUtils]: 48: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,474 INFO L290 TraceCheckUtils]: 49: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post6 < 10);havoc #t~post6; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,475 INFO L272 TraceCheckUtils]: 50: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L290 TraceCheckUtils]: 51: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L290 TraceCheckUtils]: 52: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L290 TraceCheckUtils]: 53: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16116#true} {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #82#return; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,475 INFO L272 TraceCheckUtils]: 55: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L290 TraceCheckUtils]: 56: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,475 INFO L290 TraceCheckUtils]: 57: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,476 INFO L290 TraceCheckUtils]: 58: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,476 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16116#true} {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #84#return; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,476 INFO L272 TraceCheckUtils]: 60: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,476 INFO L290 TraceCheckUtils]: 62: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,476 INFO L290 TraceCheckUtils]: 63: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,477 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16116#true} {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #86#return; {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,477 INFO L290 TraceCheckUtils]: 65: Hoare triple {16267#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,478 INFO L290 TraceCheckUtils]: 66: Hoare triple {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 10);havoc #t~post7; {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,478 INFO L272 TraceCheckUtils]: 68: Hoare triple {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,478 INFO L290 TraceCheckUtils]: 69: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,478 INFO L290 TraceCheckUtils]: 70: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,478 INFO L290 TraceCheckUtils]: 71: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,479 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16116#true} {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,479 INFO L272 TraceCheckUtils]: 73: Hoare triple {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,479 INFO L290 TraceCheckUtils]: 74: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,479 INFO L290 TraceCheckUtils]: 76: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,480 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16116#true} {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:00:40,481 INFO L290 TraceCheckUtils]: 78: Hoare triple {16322#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,481 INFO L290 TraceCheckUtils]: 79: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,482 INFO L290 TraceCheckUtils]: 80: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,482 INFO L290 TraceCheckUtils]: 81: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,482 INFO L272 TraceCheckUtils]: 82: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:40,482 INFO L290 TraceCheckUtils]: 83: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:40,482 INFO L290 TraceCheckUtils]: 84: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:40,482 INFO L290 TraceCheckUtils]: 85: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:40,483 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16116#true} {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:40,483 INFO L272 TraceCheckUtils]: 87: Hoare triple {16212#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16389#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:00:40,484 INFO L290 TraceCheckUtils]: 88: Hoare triple {16389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:00:40,484 INFO L290 TraceCheckUtils]: 89: Hoare triple {16393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16117#false} is VALID [2022-04-28 13:00:40,484 INFO L290 TraceCheckUtils]: 90: Hoare triple {16117#false} assume !false; {16117#false} is VALID [2022-04-28 13:00:40,484 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 13:00:40,485 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:00:48,533 INFO L290 TraceCheckUtils]: 90: Hoare triple {16117#false} assume !false; {16117#false} is VALID [2022-04-28 13:00:48,534 INFO L290 TraceCheckUtils]: 89: Hoare triple {16393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16117#false} is VALID [2022-04-28 13:00:48,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {16389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:00:48,534 INFO L272 TraceCheckUtils]: 87: Hoare triple {16409#(= 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)); {16389#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:00:48,535 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16116#true} {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:48,535 INFO L290 TraceCheckUtils]: 85: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,535 INFO L290 TraceCheckUtils]: 84: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,535 INFO L290 TraceCheckUtils]: 83: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,535 INFO L272 TraceCheckUtils]: 82: Hoare triple {16409#(= 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)); {16116#true} is VALID [2022-04-28 13:00:48,535 INFO L290 TraceCheckUtils]: 81: Hoare triple {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:48,535 INFO L290 TraceCheckUtils]: 80: Hoare triple {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:48,536 INFO L290 TraceCheckUtils]: 79: Hoare triple {16409#(= 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; {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:48,576 INFO L290 TraceCheckUtils]: 78: Hoare triple {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16409#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:00:48,577 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16116#true} {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:48,577 INFO L290 TraceCheckUtils]: 76: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,577 INFO L290 TraceCheckUtils]: 75: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,577 INFO L290 TraceCheckUtils]: 74: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,577 INFO L272 TraceCheckUtils]: 73: Hoare triple {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,578 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16116#true} {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:48,578 INFO L290 TraceCheckUtils]: 71: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,578 INFO L290 TraceCheckUtils]: 70: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,578 INFO L290 TraceCheckUtils]: 69: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,578 INFO L272 TraceCheckUtils]: 68: Hoare triple {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,579 INFO L290 TraceCheckUtils]: 67: Hoare triple {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 10);havoc #t~post7; {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:48,580 INFO L290 TraceCheckUtils]: 66: Hoare triple {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:48,581 INFO L290 TraceCheckUtils]: 65: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {16437#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:00:48,581 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16116#true} {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,581 INFO L290 TraceCheckUtils]: 63: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,581 INFO L290 TraceCheckUtils]: 61: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,581 INFO L272 TraceCheckUtils]: 60: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,582 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16116#true} {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,582 INFO L290 TraceCheckUtils]: 58: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,582 INFO L290 TraceCheckUtils]: 57: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,582 INFO L290 TraceCheckUtils]: 56: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,582 INFO L272 TraceCheckUtils]: 55: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,582 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16116#true} {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,583 INFO L290 TraceCheckUtils]: 53: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,583 INFO L290 TraceCheckUtils]: 51: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,583 INFO L272 TraceCheckUtils]: 50: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 10);havoc #t~post6; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,587 INFO L290 TraceCheckUtils]: 48: Hoare triple {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,592 INFO L290 TraceCheckUtils]: 47: Hoare triple {16532#(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; {16477#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 13:00:48,593 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16532#(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 13:00:48,593 INFO L290 TraceCheckUtils]: 45: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,593 INFO L272 TraceCheckUtils]: 42: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16532#(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 13:00:48,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L272 TraceCheckUtils]: 37: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16532#(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 13:00:48,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,595 INFO L272 TraceCheckUtils]: 32: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 10);havoc #t~post6; {16532#(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 13:00:48,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16532#(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 13:00:48,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {16532#(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; {16532#(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 13:00:48,597 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16532#(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 13:00:48,597 INFO L290 TraceCheckUtils]: 27: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,597 INFO L290 TraceCheckUtils]: 25: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,597 INFO L272 TraceCheckUtils]: 24: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16532#(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 13:00:48,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L272 TraceCheckUtils]: 19: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16116#true} {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16532#(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 13:00:48,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,599 INFO L272 TraceCheckUtils]: 14: Hoare triple {16532#(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)); {16116#true} is VALID [2022-04-28 13:00:48,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 10);havoc #t~post6; {16532#(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 13:00:48,599 INFO L290 TraceCheckUtils]: 12: Hoare triple {16532#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16532#(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 13:00:48,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {16116#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16532#(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 13:00:48,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16116#true} {16116#true} #80#return; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {16116#true} assume !(0 == ~cond); {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {16116#true} ~cond := #in~cond; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {16116#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {16116#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {16116#true} call #t~ret8 := main(); {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16116#true} {16116#true} #96#return; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {16116#true} assume true; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {16116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16116#true} is VALID [2022-04-28 13:00:48,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {16116#true} call ULTIMATE.init(); {16116#true} is VALID [2022-04-28 13:00:48,606 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 16 refuted. 0 times theorem prover too weak. 270 trivial. 0 not checked. [2022-04-28 13:00:48,606 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:00:48,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [454621790] [2022-04-28 13:00:48,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:00:48,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [215504472] [2022-04-28 13:00:48,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [215504472] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:00:48,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:00:48,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 13:00:48,607 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:00:48,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [364413029] [2022-04-28 13:00:48,609 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [364413029] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:00:48,609 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:00:48,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:00:48,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1675464976] [2022-04-28 13:00:48,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:00:48,610 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-28 13:00:48,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:00:48,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:00:48,665 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 13:00:48,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:00:48,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:00:48,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:00:48,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:00:48,666 INFO L87 Difference]: Start difference. First operand 173 states and 203 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:00:50,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:50,320 INFO L93 Difference]: Finished difference Result 257 states and 325 transitions. [2022-04-28 13:00:50,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:00:50,320 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-28 13:00:50,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:00:50,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:00:50,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-28 13:00:50,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:00:50,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-28 13:00:50,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-28 13:00:50,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:00:50,462 INFO L225 Difference]: With dead ends: 257 [2022-04-28 13:00:50,462 INFO L226 Difference]: Without dead ends: 205 [2022-04-28 13:00:50,463 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 183 GetRequests, 165 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:00:50,463 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 48 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 287 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 321 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 287 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:00:50,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 316 Invalid, 321 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 287 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 13:00:50,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-28 13:00:50,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 205. [2022-04-28 13:00:50,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:00:50,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:00:50,680 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:00:50,680 INFO L87 Difference]: Start difference. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:00:50,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:50,683 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-28 13:00:50,684 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 13:00:50,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:00:50,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:00:50,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-28 13:00:50,684 INFO L87 Difference]: Start difference. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-28 13:00:50,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:00:50,687 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-28 13:00:50,687 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 13:00:50,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:00:50,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:00:50,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:00:50,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:00:50,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:00:50,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 243 transitions. [2022-04-28 13:00:50,693 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 243 transitions. Word has length 91 [2022-04-28 13:00:50,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:00:50,693 INFO L495 AbstractCegarLoop]: Abstraction has 205 states and 243 transitions. [2022-04-28 13:00:50,693 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 13:00:50,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 243 transitions. [2022-04-28 13:00:53,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 242 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:00:53,004 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 13:00:53,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 13:00:53,005 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:00:53,005 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:00:53,022 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 13:00:53,206 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:00:53,206 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:00:53,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:00:53,206 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-28 13:00:53,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:00:53,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [866966517] [2022-04-28 13:01:01,754 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:01,755 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:01,755 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-28 13:01:01,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:01,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1065867412] [2022-04-28 13:01:01,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:01,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:01,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:01,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1745536730] [2022-04-28 13:01:01,764 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:01:01,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:01,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:01,765 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:01,766 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 13:01:01,813 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:01:01,813 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:01,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:01:01,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:01,831 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:02,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {18014#true} call ULTIMATE.init(); {18014#true} is VALID [2022-04-28 13:01:02,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {18014#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {18022#(<= ~counter~0 0)} assume true; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18022#(<= ~counter~0 0)} {18014#true} #96#return; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {18022#(<= ~counter~0 0)} call #t~ret8 := main(); {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {18022#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {18022#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {18022#(<= ~counter~0 0)} ~cond := #in~cond; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {18022#(<= ~counter~0 0)} assume !(0 == ~cond); {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {18022#(<= ~counter~0 0)} assume true; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,203 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18022#(<= ~counter~0 0)} {18022#(<= ~counter~0 0)} #80#return; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,203 INFO L290 TraceCheckUtils]: 11: Hoare triple {18022#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18022#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:02,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {18022#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {18056#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,204 INFO L272 TraceCheckUtils]: 14: Hoare triple {18056#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {18056#(<= ~counter~0 1)} ~cond := #in~cond; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {18056#(<= ~counter~0 1)} assume !(0 == ~cond); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,205 INFO L290 TraceCheckUtils]: 17: Hoare triple {18056#(<= ~counter~0 1)} assume true; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,205 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18056#(<= ~counter~0 1)} {18056#(<= ~counter~0 1)} #82#return; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,206 INFO L272 TraceCheckUtils]: 19: Hoare triple {18056#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {18056#(<= ~counter~0 1)} ~cond := #in~cond; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {18056#(<= ~counter~0 1)} assume !(0 == ~cond); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {18056#(<= ~counter~0 1)} assume true; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,207 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18056#(<= ~counter~0 1)} {18056#(<= ~counter~0 1)} #84#return; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,207 INFO L272 TraceCheckUtils]: 24: Hoare triple {18056#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,208 INFO L290 TraceCheckUtils]: 25: Hoare triple {18056#(<= ~counter~0 1)} ~cond := #in~cond; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,208 INFO L290 TraceCheckUtils]: 26: Hoare triple {18056#(<= ~counter~0 1)} assume !(0 == ~cond); {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,208 INFO L290 TraceCheckUtils]: 27: Hoare triple {18056#(<= ~counter~0 1)} assume true; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,209 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18056#(<= ~counter~0 1)} {18056#(<= ~counter~0 1)} #86#return; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,209 INFO L290 TraceCheckUtils]: 29: Hoare triple {18056#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18056#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:02,209 INFO L290 TraceCheckUtils]: 30: Hoare triple {18056#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {18111#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,210 INFO L272 TraceCheckUtils]: 32: Hoare triple {18111#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {18111#(<= ~counter~0 2)} ~cond := #in~cond; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {18111#(<= ~counter~0 2)} assume !(0 == ~cond); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {18111#(<= ~counter~0 2)} assume true; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,211 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18111#(<= ~counter~0 2)} {18111#(<= ~counter~0 2)} #82#return; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,212 INFO L272 TraceCheckUtils]: 37: Hoare triple {18111#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,212 INFO L290 TraceCheckUtils]: 38: Hoare triple {18111#(<= ~counter~0 2)} ~cond := #in~cond; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,212 INFO L290 TraceCheckUtils]: 39: Hoare triple {18111#(<= ~counter~0 2)} assume !(0 == ~cond); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,213 INFO L290 TraceCheckUtils]: 40: Hoare triple {18111#(<= ~counter~0 2)} assume true; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,213 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18111#(<= ~counter~0 2)} {18111#(<= ~counter~0 2)} #84#return; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,213 INFO L272 TraceCheckUtils]: 42: Hoare triple {18111#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,214 INFO L290 TraceCheckUtils]: 43: Hoare triple {18111#(<= ~counter~0 2)} ~cond := #in~cond; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,214 INFO L290 TraceCheckUtils]: 44: Hoare triple {18111#(<= ~counter~0 2)} assume !(0 == ~cond); {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,214 INFO L290 TraceCheckUtils]: 45: Hoare triple {18111#(<= ~counter~0 2)} assume true; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,215 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18111#(<= ~counter~0 2)} {18111#(<= ~counter~0 2)} #86#return; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,215 INFO L290 TraceCheckUtils]: 47: Hoare triple {18111#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18111#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:02,215 INFO L290 TraceCheckUtils]: 48: Hoare triple {18111#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,216 INFO L290 TraceCheckUtils]: 49: Hoare triple {18166#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,216 INFO L272 TraceCheckUtils]: 50: Hoare triple {18166#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,216 INFO L290 TraceCheckUtils]: 51: Hoare triple {18166#(<= ~counter~0 3)} ~cond := #in~cond; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,217 INFO L290 TraceCheckUtils]: 52: Hoare triple {18166#(<= ~counter~0 3)} assume !(0 == ~cond); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,217 INFO L290 TraceCheckUtils]: 53: Hoare triple {18166#(<= ~counter~0 3)} assume true; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,217 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18166#(<= ~counter~0 3)} {18166#(<= ~counter~0 3)} #82#return; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,218 INFO L272 TraceCheckUtils]: 55: Hoare triple {18166#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,219 INFO L290 TraceCheckUtils]: 56: Hoare triple {18166#(<= ~counter~0 3)} ~cond := #in~cond; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,219 INFO L290 TraceCheckUtils]: 57: Hoare triple {18166#(<= ~counter~0 3)} assume !(0 == ~cond); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,220 INFO L290 TraceCheckUtils]: 58: Hoare triple {18166#(<= ~counter~0 3)} assume true; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,220 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18166#(<= ~counter~0 3)} {18166#(<= ~counter~0 3)} #84#return; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,220 INFO L272 TraceCheckUtils]: 60: Hoare triple {18166#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,221 INFO L290 TraceCheckUtils]: 61: Hoare triple {18166#(<= ~counter~0 3)} ~cond := #in~cond; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,221 INFO L290 TraceCheckUtils]: 62: Hoare triple {18166#(<= ~counter~0 3)} assume !(0 == ~cond); {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,221 INFO L290 TraceCheckUtils]: 63: Hoare triple {18166#(<= ~counter~0 3)} assume true; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,222 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18166#(<= ~counter~0 3)} {18166#(<= ~counter~0 3)} #86#return; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,222 INFO L290 TraceCheckUtils]: 65: Hoare triple {18166#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18166#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:02,222 INFO L290 TraceCheckUtils]: 66: Hoare triple {18166#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,223 INFO L290 TraceCheckUtils]: 67: Hoare triple {18221#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,223 INFO L272 TraceCheckUtils]: 68: Hoare triple {18221#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,223 INFO L290 TraceCheckUtils]: 69: Hoare triple {18221#(<= ~counter~0 4)} ~cond := #in~cond; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,224 INFO L290 TraceCheckUtils]: 70: Hoare triple {18221#(<= ~counter~0 4)} assume !(0 == ~cond); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,224 INFO L290 TraceCheckUtils]: 71: Hoare triple {18221#(<= ~counter~0 4)} assume true; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,224 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18221#(<= ~counter~0 4)} {18221#(<= ~counter~0 4)} #82#return; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,225 INFO L272 TraceCheckUtils]: 73: Hoare triple {18221#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,225 INFO L290 TraceCheckUtils]: 74: Hoare triple {18221#(<= ~counter~0 4)} ~cond := #in~cond; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,225 INFO L290 TraceCheckUtils]: 75: Hoare triple {18221#(<= ~counter~0 4)} assume !(0 == ~cond); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,226 INFO L290 TraceCheckUtils]: 76: Hoare triple {18221#(<= ~counter~0 4)} assume true; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,226 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18221#(<= ~counter~0 4)} {18221#(<= ~counter~0 4)} #84#return; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,226 INFO L272 TraceCheckUtils]: 78: Hoare triple {18221#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,227 INFO L290 TraceCheckUtils]: 79: Hoare triple {18221#(<= ~counter~0 4)} ~cond := #in~cond; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,227 INFO L290 TraceCheckUtils]: 80: Hoare triple {18221#(<= ~counter~0 4)} assume !(0 == ~cond); {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,227 INFO L290 TraceCheckUtils]: 81: Hoare triple {18221#(<= ~counter~0 4)} assume true; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,227 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18221#(<= ~counter~0 4)} {18221#(<= ~counter~0 4)} #86#return; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,228 INFO L290 TraceCheckUtils]: 83: Hoare triple {18221#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18221#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:02,228 INFO L290 TraceCheckUtils]: 84: Hoare triple {18221#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18276#(<= |main_#t~post6| 4)} is VALID [2022-04-28 13:01:02,228 INFO L290 TraceCheckUtils]: 85: Hoare triple {18276#(<= |main_#t~post6| 4)} assume !(#t~post6 < 10);havoc #t~post6; {18015#false} is VALID [2022-04-28 13:01:02,228 INFO L290 TraceCheckUtils]: 86: Hoare triple {18015#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 87: Hoare triple {18015#false} assume !(#t~post7 < 10);havoc #t~post7; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L272 TraceCheckUtils]: 88: Hoare triple {18015#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 89: Hoare triple {18015#false} ~cond := #in~cond; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 90: Hoare triple {18015#false} assume !(0 == ~cond); {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 91: Hoare triple {18015#false} assume true; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18015#false} {18015#false} #92#return; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L272 TraceCheckUtils]: 93: Hoare triple {18015#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 94: Hoare triple {18015#false} ~cond := #in~cond; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 95: Hoare triple {18015#false} assume 0 == ~cond; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L290 TraceCheckUtils]: 96: Hoare triple {18015#false} assume !false; {18015#false} is VALID [2022-04-28 13:01:02,229 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 13:01:02,230 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:02,493 INFO L290 TraceCheckUtils]: 96: Hoare triple {18015#false} assume !false; {18015#false} is VALID [2022-04-28 13:01:02,493 INFO L290 TraceCheckUtils]: 95: Hoare triple {18015#false} assume 0 == ~cond; {18015#false} is VALID [2022-04-28 13:01:02,493 INFO L290 TraceCheckUtils]: 94: Hoare triple {18015#false} ~cond := #in~cond; {18015#false} is VALID [2022-04-28 13:01:02,493 INFO L272 TraceCheckUtils]: 93: Hoare triple {18015#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18015#false} is VALID [2022-04-28 13:01:02,493 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18014#true} {18015#false} #92#return; {18015#false} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 91: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 90: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 89: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,494 INFO L272 TraceCheckUtils]: 88: Hoare triple {18015#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 87: Hoare triple {18015#false} assume !(#t~post7 < 10);havoc #t~post7; {18015#false} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 86: Hoare triple {18015#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18015#false} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {18015#false} is VALID [2022-04-28 13:01:02,494 INFO L290 TraceCheckUtils]: 84: Hoare triple {18350#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18346#(< |main_#t~post6| 10)} is VALID [2022-04-28 13:01:02,495 INFO L290 TraceCheckUtils]: 83: Hoare triple {18350#(< ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,495 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18014#true} {18350#(< ~counter~0 10)} #86#return; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,495 INFO L290 TraceCheckUtils]: 81: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,495 INFO L290 TraceCheckUtils]: 80: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,495 INFO L290 TraceCheckUtils]: 79: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,495 INFO L272 TraceCheckUtils]: 78: Hoare triple {18350#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,495 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18014#true} {18350#(< ~counter~0 10)} #84#return; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,495 INFO L290 TraceCheckUtils]: 76: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 75: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 74: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L272 TraceCheckUtils]: 73: Hoare triple {18350#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18014#true} {18350#(< ~counter~0 10)} #82#return; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 71: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 70: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 69: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L272 TraceCheckUtils]: 68: Hoare triple {18350#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {18350#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,497 INFO L290 TraceCheckUtils]: 66: Hoare triple {18405#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18350#(< ~counter~0 10)} is VALID [2022-04-28 13:01:02,497 INFO L290 TraceCheckUtils]: 65: Hoare triple {18405#(< ~counter~0 9)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,497 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18014#true} {18405#(< ~counter~0 9)} #86#return; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,497 INFO L290 TraceCheckUtils]: 63: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L290 TraceCheckUtils]: 62: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L290 TraceCheckUtils]: 61: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L272 TraceCheckUtils]: 60: Hoare triple {18405#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18014#true} {18405#(< ~counter~0 9)} #84#return; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,498 INFO L290 TraceCheckUtils]: 58: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L290 TraceCheckUtils]: 57: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L290 TraceCheckUtils]: 56: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L272 TraceCheckUtils]: 55: Hoare triple {18405#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,498 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18014#true} {18405#(< ~counter~0 9)} #82#return; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,499 INFO L290 TraceCheckUtils]: 53: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,499 INFO L290 TraceCheckUtils]: 52: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,499 INFO L290 TraceCheckUtils]: 51: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,499 INFO L272 TraceCheckUtils]: 50: Hoare triple {18405#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,499 INFO L290 TraceCheckUtils]: 49: Hoare triple {18405#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,499 INFO L290 TraceCheckUtils]: 48: Hoare triple {18460#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18405#(< ~counter~0 9)} is VALID [2022-04-28 13:01:02,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {18460#(< ~counter~0 8)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,500 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18014#true} {18460#(< ~counter~0 8)} #86#return; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,500 INFO L272 TraceCheckUtils]: 42: Hoare triple {18460#(< ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18014#true} {18460#(< ~counter~0 8)} #84#return; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L272 TraceCheckUtils]: 37: Hoare triple {18460#(< ~counter~0 8)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18014#true} {18460#(< ~counter~0 8)} #82#return; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 34: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L290 TraceCheckUtils]: 33: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,501 INFO L272 TraceCheckUtils]: 32: Hoare triple {18460#(< ~counter~0 8)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {18460#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,502 INFO L290 TraceCheckUtils]: 30: Hoare triple {18515#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18460#(< ~counter~0 8)} is VALID [2022-04-28 13:01:02,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {18515#(< ~counter~0 7)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,502 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18014#true} {18515#(< ~counter~0 7)} #86#return; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 26: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L272 TraceCheckUtils]: 24: Hoare triple {18515#(< ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18014#true} {18515#(< ~counter~0 7)} #84#return; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 22: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 21: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L290 TraceCheckUtils]: 20: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,503 INFO L272 TraceCheckUtils]: 19: Hoare triple {18515#(< ~counter~0 7)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,504 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18014#true} {18515#(< ~counter~0 7)} #82#return; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,504 INFO L290 TraceCheckUtils]: 17: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,504 INFO L290 TraceCheckUtils]: 16: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,504 INFO L272 TraceCheckUtils]: 14: Hoare triple {18515#(< ~counter~0 7)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {18515#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {18570#(< ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18515#(< ~counter~0 7)} is VALID [2022-04-28 13:01:02,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {18570#(< ~counter~0 6)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18014#true} {18570#(< ~counter~0 6)} #80#return; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {18014#true} assume true; {18014#true} is VALID [2022-04-28 13:01:02,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {18014#true} assume !(0 == ~cond); {18014#true} is VALID [2022-04-28 13:01:02,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {18014#true} ~cond := #in~cond; {18014#true} is VALID [2022-04-28 13:01:02,505 INFO L272 TraceCheckUtils]: 6: Hoare triple {18570#(< ~counter~0 6)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18014#true} is VALID [2022-04-28 13:01:02,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {18570#(< ~counter~0 6)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {18570#(< ~counter~0 6)} call #t~ret8 := main(); {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18570#(< ~counter~0 6)} {18014#true} #96#return; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {18570#(< ~counter~0 6)} assume true; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {18014#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18570#(< ~counter~0 6)} is VALID [2022-04-28 13:01:02,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {18014#true} call ULTIMATE.init(); {18014#true} is VALID [2022-04-28 13:01:02,507 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:01:02,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:02,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1065867412] [2022-04-28 13:01:02,507 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:02,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1745536730] [2022-04-28 13:01:02,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1745536730] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:02,507 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:02,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 13:01:02,508 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:02,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [866966517] [2022-04-28 13:01:02,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [866966517] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:02,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:02,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 13:01:02,508 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [733079855] [2022-04-28 13:01:02,508 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:02,509 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 13:01:02,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:02,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:02,545 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:02,545 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 13:01:02,545 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:02,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 13:01:02,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:01:02,545 INFO L87 Difference]: Start difference. First operand 205 states and 243 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:02,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:02,967 INFO L93 Difference]: Finished difference Result 266 states and 328 transitions. [2022-04-28 13:01:02,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:01:02,967 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 13:01:02,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:02,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:02,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-28 13:01:02,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:02,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-28 13:01:02,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 124 transitions. [2022-04-28 13:01:03,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:03,096 INFO L225 Difference]: With dead ends: 266 [2022-04-28 13:01:03,096 INFO L226 Difference]: Without dead ends: 207 [2022-04-28 13:01:03,096 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 181 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:01:03,097 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 22 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:03,097 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 206 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:01:03,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-28 13:01:03,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 207. [2022-04-28 13:01:03,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:03,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:01:03,279 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:01:03,280 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:01:03,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:03,283 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-28 13:01:03,283 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 13:01:03,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:03,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:03,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-28 13:01:03,284 INFO L87 Difference]: Start difference. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-28 13:01:03,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:03,287 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-28 13:01:03,287 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 13:01:03,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:03,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:03,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:03,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:03,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 13:01:03,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 245 transitions. [2022-04-28 13:01:03,291 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 245 transitions. Word has length 97 [2022-04-28 13:01:03,291 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:03,291 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 245 transitions. [2022-04-28 13:01:03,291 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:03,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 245 transitions. [2022-04-28 13:01:05,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 244 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:05,656 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 13:01:05,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 13:01:05,657 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:05,657 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:01:05,675 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:05,858 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:05,858 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:05,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:05,858 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-28 13:01:05,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:05,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [634822141] [2022-04-28 13:01:12,185 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:12,185 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:12,185 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-28 13:01:12,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:12,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816444594] [2022-04-28 13:01:12,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:12,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:12,196 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:12,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [899460585] [2022-04-28 13:01:12,197 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:01:12,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:12,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:12,198 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:12,199 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 13:01:12,334 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:01:12,334 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:12,335 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 13:01:12,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:12,353 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:12,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {19977#true} call ULTIMATE.init(); {19977#true} is VALID [2022-04-28 13:01:12,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {19977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {19985#(<= ~counter~0 0)} assume true; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19985#(<= ~counter~0 0)} {19977#true} #96#return; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {19985#(<= ~counter~0 0)} call #t~ret8 := main(); {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {19985#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,739 INFO L272 TraceCheckUtils]: 6: Hoare triple {19985#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {19985#(<= ~counter~0 0)} ~cond := #in~cond; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {19985#(<= ~counter~0 0)} assume !(0 == ~cond); {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {19985#(<= ~counter~0 0)} assume true; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,740 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19985#(<= ~counter~0 0)} {19985#(<= ~counter~0 0)} #80#return; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {19985#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {19985#(<= ~counter~0 0)} is VALID [2022-04-28 13:01:12,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {19985#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {20019#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,741 INFO L272 TraceCheckUtils]: 14: Hoare triple {20019#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {20019#(<= ~counter~0 1)} ~cond := #in~cond; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,742 INFO L290 TraceCheckUtils]: 16: Hoare triple {20019#(<= ~counter~0 1)} assume !(0 == ~cond); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,742 INFO L290 TraceCheckUtils]: 17: Hoare triple {20019#(<= ~counter~0 1)} assume true; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,742 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20019#(<= ~counter~0 1)} {20019#(<= ~counter~0 1)} #82#return; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,742 INFO L272 TraceCheckUtils]: 19: Hoare triple {20019#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {20019#(<= ~counter~0 1)} ~cond := #in~cond; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,743 INFO L290 TraceCheckUtils]: 21: Hoare triple {20019#(<= ~counter~0 1)} assume !(0 == ~cond); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,743 INFO L290 TraceCheckUtils]: 22: Hoare triple {20019#(<= ~counter~0 1)} assume true; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,743 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20019#(<= ~counter~0 1)} {20019#(<= ~counter~0 1)} #84#return; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,744 INFO L272 TraceCheckUtils]: 24: Hoare triple {20019#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {20019#(<= ~counter~0 1)} ~cond := #in~cond; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {20019#(<= ~counter~0 1)} assume !(0 == ~cond); {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,744 INFO L290 TraceCheckUtils]: 27: Hoare triple {20019#(<= ~counter~0 1)} assume true; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,745 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20019#(<= ~counter~0 1)} {20019#(<= ~counter~0 1)} #86#return; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {20019#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20019#(<= ~counter~0 1)} is VALID [2022-04-28 13:01:12,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {20019#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {20074#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,746 INFO L272 TraceCheckUtils]: 32: Hoare triple {20074#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {20074#(<= ~counter~0 2)} ~cond := #in~cond; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,746 INFO L290 TraceCheckUtils]: 34: Hoare triple {20074#(<= ~counter~0 2)} assume !(0 == ~cond); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,746 INFO L290 TraceCheckUtils]: 35: Hoare triple {20074#(<= ~counter~0 2)} assume true; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,747 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20074#(<= ~counter~0 2)} {20074#(<= ~counter~0 2)} #82#return; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,747 INFO L272 TraceCheckUtils]: 37: Hoare triple {20074#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,747 INFO L290 TraceCheckUtils]: 38: Hoare triple {20074#(<= ~counter~0 2)} ~cond := #in~cond; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,747 INFO L290 TraceCheckUtils]: 39: Hoare triple {20074#(<= ~counter~0 2)} assume !(0 == ~cond); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {20074#(<= ~counter~0 2)} assume true; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,748 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20074#(<= ~counter~0 2)} {20074#(<= ~counter~0 2)} #84#return; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,748 INFO L272 TraceCheckUtils]: 42: Hoare triple {20074#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,748 INFO L290 TraceCheckUtils]: 43: Hoare triple {20074#(<= ~counter~0 2)} ~cond := #in~cond; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {20074#(<= ~counter~0 2)} assume !(0 == ~cond); {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {20074#(<= ~counter~0 2)} assume true; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,749 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20074#(<= ~counter~0 2)} {20074#(<= ~counter~0 2)} #86#return; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,749 INFO L290 TraceCheckUtils]: 47: Hoare triple {20074#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20074#(<= ~counter~0 2)} is VALID [2022-04-28 13:01:12,750 INFO L290 TraceCheckUtils]: 48: Hoare triple {20074#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {20129#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,750 INFO L272 TraceCheckUtils]: 50: Hoare triple {20129#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,750 INFO L290 TraceCheckUtils]: 51: Hoare triple {20129#(<= ~counter~0 3)} ~cond := #in~cond; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,751 INFO L290 TraceCheckUtils]: 52: Hoare triple {20129#(<= ~counter~0 3)} assume !(0 == ~cond); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,751 INFO L290 TraceCheckUtils]: 53: Hoare triple {20129#(<= ~counter~0 3)} assume true; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,767 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20129#(<= ~counter~0 3)} {20129#(<= ~counter~0 3)} #82#return; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,768 INFO L272 TraceCheckUtils]: 55: Hoare triple {20129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,768 INFO L290 TraceCheckUtils]: 56: Hoare triple {20129#(<= ~counter~0 3)} ~cond := #in~cond; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,768 INFO L290 TraceCheckUtils]: 57: Hoare triple {20129#(<= ~counter~0 3)} assume !(0 == ~cond); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,768 INFO L290 TraceCheckUtils]: 58: Hoare triple {20129#(<= ~counter~0 3)} assume true; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,769 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20129#(<= ~counter~0 3)} {20129#(<= ~counter~0 3)} #84#return; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,769 INFO L272 TraceCheckUtils]: 60: Hoare triple {20129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,769 INFO L290 TraceCheckUtils]: 61: Hoare triple {20129#(<= ~counter~0 3)} ~cond := #in~cond; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,770 INFO L290 TraceCheckUtils]: 62: Hoare triple {20129#(<= ~counter~0 3)} assume !(0 == ~cond); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,770 INFO L290 TraceCheckUtils]: 63: Hoare triple {20129#(<= ~counter~0 3)} assume true; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,770 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20129#(<= ~counter~0 3)} {20129#(<= ~counter~0 3)} #86#return; {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,771 INFO L290 TraceCheckUtils]: 65: Hoare triple {20129#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {20129#(<= ~counter~0 3)} is VALID [2022-04-28 13:01:12,771 INFO L290 TraceCheckUtils]: 66: Hoare triple {20129#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,772 INFO L290 TraceCheckUtils]: 67: Hoare triple {20184#(<= ~counter~0 4)} assume !!(#t~post7 < 10);havoc #t~post7; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,772 INFO L272 TraceCheckUtils]: 68: Hoare triple {20184#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,772 INFO L290 TraceCheckUtils]: 69: Hoare triple {20184#(<= ~counter~0 4)} ~cond := #in~cond; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,773 INFO L290 TraceCheckUtils]: 70: Hoare triple {20184#(<= ~counter~0 4)} assume !(0 == ~cond); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,773 INFO L290 TraceCheckUtils]: 71: Hoare triple {20184#(<= ~counter~0 4)} assume true; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,773 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20184#(<= ~counter~0 4)} {20184#(<= ~counter~0 4)} #88#return; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,774 INFO L272 TraceCheckUtils]: 73: Hoare triple {20184#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,774 INFO L290 TraceCheckUtils]: 74: Hoare triple {20184#(<= ~counter~0 4)} ~cond := #in~cond; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,774 INFO L290 TraceCheckUtils]: 75: Hoare triple {20184#(<= ~counter~0 4)} assume !(0 == ~cond); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,774 INFO L290 TraceCheckUtils]: 76: Hoare triple {20184#(<= ~counter~0 4)} assume true; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,775 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20184#(<= ~counter~0 4)} {20184#(<= ~counter~0 4)} #90#return; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,775 INFO L290 TraceCheckUtils]: 78: Hoare triple {20184#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,775 INFO L290 TraceCheckUtils]: 79: Hoare triple {20184#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:12,776 INFO L290 TraceCheckUtils]: 80: Hoare triple {20184#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,776 INFO L290 TraceCheckUtils]: 81: Hoare triple {20227#(<= ~counter~0 5)} assume !!(#t~post7 < 10);havoc #t~post7; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,776 INFO L272 TraceCheckUtils]: 82: Hoare triple {20227#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,777 INFO L290 TraceCheckUtils]: 83: Hoare triple {20227#(<= ~counter~0 5)} ~cond := #in~cond; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,777 INFO L290 TraceCheckUtils]: 84: Hoare triple {20227#(<= ~counter~0 5)} assume !(0 == ~cond); {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,777 INFO L290 TraceCheckUtils]: 85: Hoare triple {20227#(<= ~counter~0 5)} assume true; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,778 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20227#(<= ~counter~0 5)} {20227#(<= ~counter~0 5)} #88#return; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,778 INFO L272 TraceCheckUtils]: 87: Hoare triple {20227#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,778 INFO L290 TraceCheckUtils]: 88: Hoare triple {20227#(<= ~counter~0 5)} ~cond := #in~cond; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,778 INFO L290 TraceCheckUtils]: 89: Hoare triple {20227#(<= ~counter~0 5)} assume !(0 == ~cond); {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,779 INFO L290 TraceCheckUtils]: 90: Hoare triple {20227#(<= ~counter~0 5)} assume true; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,779 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20227#(<= ~counter~0 5)} {20227#(<= ~counter~0 5)} #90#return; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,779 INFO L290 TraceCheckUtils]: 92: Hoare triple {20227#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 93: Hoare triple {20227#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 94: Hoare triple {20227#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20270#(<= |main_#t~post7| 5)} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 95: Hoare triple {20270#(<= |main_#t~post7| 5)} assume !(#t~post7 < 10);havoc #t~post7; {19978#false} is VALID [2022-04-28 13:01:12,780 INFO L272 TraceCheckUtils]: 96: Hoare triple {19978#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {19978#false} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 97: Hoare triple {19978#false} ~cond := #in~cond; {19978#false} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 98: Hoare triple {19978#false} assume 0 == ~cond; {19978#false} is VALID [2022-04-28 13:01:12,780 INFO L290 TraceCheckUtils]: 99: Hoare triple {19978#false} assume !false; {19978#false} is VALID [2022-04-28 13:01:12,781 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 13:01:12,781 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:13,097 INFO L290 TraceCheckUtils]: 99: Hoare triple {19978#false} assume !false; {19978#false} is VALID [2022-04-28 13:01:13,097 INFO L290 TraceCheckUtils]: 98: Hoare triple {19978#false} assume 0 == ~cond; {19978#false} is VALID [2022-04-28 13:01:13,097 INFO L290 TraceCheckUtils]: 97: Hoare triple {19978#false} ~cond := #in~cond; {19978#false} is VALID [2022-04-28 13:01:13,097 INFO L272 TraceCheckUtils]: 96: Hoare triple {19978#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {19978#false} is VALID [2022-04-28 13:01:13,098 INFO L290 TraceCheckUtils]: 95: Hoare triple {20298#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {19978#false} is VALID [2022-04-28 13:01:13,098 INFO L290 TraceCheckUtils]: 94: Hoare triple {20302#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20298#(< |main_#t~post7| 10)} is VALID [2022-04-28 13:01:13,098 INFO L290 TraceCheckUtils]: 93: Hoare triple {20302#(< ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,099 INFO L290 TraceCheckUtils]: 92: Hoare triple {20302#(< ~counter~0 10)} 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); {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,099 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19977#true} {20302#(< ~counter~0 10)} #90#return; {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,099 INFO L290 TraceCheckUtils]: 90: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,099 INFO L290 TraceCheckUtils]: 89: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,099 INFO L290 TraceCheckUtils]: 88: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,099 INFO L272 TraceCheckUtils]: 87: Hoare triple {20302#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,100 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19977#true} {20302#(< ~counter~0 10)} #88#return; {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,100 INFO L290 TraceCheckUtils]: 85: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,100 INFO L290 TraceCheckUtils]: 84: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,100 INFO L290 TraceCheckUtils]: 83: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,100 INFO L272 TraceCheckUtils]: 82: Hoare triple {20302#(< ~counter~0 10)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,100 INFO L290 TraceCheckUtils]: 81: Hoare triple {20302#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,101 INFO L290 TraceCheckUtils]: 80: Hoare triple {20345#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20302#(< ~counter~0 10)} is VALID [2022-04-28 13:01:13,101 INFO L290 TraceCheckUtils]: 79: Hoare triple {20345#(< ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,102 INFO L290 TraceCheckUtils]: 78: Hoare triple {20345#(< ~counter~0 9)} 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); {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,102 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19977#true} {20345#(< ~counter~0 9)} #90#return; {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,102 INFO L290 TraceCheckUtils]: 76: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,102 INFO L290 TraceCheckUtils]: 75: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,102 INFO L290 TraceCheckUtils]: 74: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,102 INFO L272 TraceCheckUtils]: 73: Hoare triple {20345#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,103 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19977#true} {20345#(< ~counter~0 9)} #88#return; {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,103 INFO L290 TraceCheckUtils]: 71: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,103 INFO L290 TraceCheckUtils]: 70: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,103 INFO L290 TraceCheckUtils]: 69: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,103 INFO L272 TraceCheckUtils]: 68: Hoare triple {20345#(< ~counter~0 9)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,103 INFO L290 TraceCheckUtils]: 67: Hoare triple {20345#(< ~counter~0 9)} assume !!(#t~post7 < 10);havoc #t~post7; {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,104 INFO L290 TraceCheckUtils]: 66: Hoare triple {20388#(< ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20345#(< ~counter~0 9)} is VALID [2022-04-28 13:01:13,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {20388#(< ~counter~0 8)} assume !(~r~0 >= ~d~0); {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,105 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19977#true} {20388#(< ~counter~0 8)} #86#return; {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,105 INFO L290 TraceCheckUtils]: 63: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,105 INFO L290 TraceCheckUtils]: 62: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,105 INFO L272 TraceCheckUtils]: 60: Hoare triple {20388#(< ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,105 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19977#true} {20388#(< ~counter~0 8)} #84#return; {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 57: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 56: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L272 TraceCheckUtils]: 55: Hoare triple {20388#(< ~counter~0 8)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19977#true} {20388#(< ~counter~0 8)} #82#return; {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 52: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L290 TraceCheckUtils]: 51: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,106 INFO L272 TraceCheckUtils]: 50: Hoare triple {20388#(< ~counter~0 8)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {20388#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,107 INFO L290 TraceCheckUtils]: 48: Hoare triple {20443#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20388#(< ~counter~0 8)} is VALID [2022-04-28 13:01:13,107 INFO L290 TraceCheckUtils]: 47: Hoare triple {20443#(< ~counter~0 7)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,108 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19977#true} {20443#(< ~counter~0 7)} #86#return; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 45: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 44: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 43: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L272 TraceCheckUtils]: 42: Hoare triple {20443#(< ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19977#true} {20443#(< ~counter~0 7)} #84#return; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 40: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 39: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,108 INFO L290 TraceCheckUtils]: 38: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L272 TraceCheckUtils]: 37: Hoare triple {20443#(< ~counter~0 7)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19977#true} {20443#(< ~counter~0 7)} #82#return; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,109 INFO L290 TraceCheckUtils]: 35: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L290 TraceCheckUtils]: 34: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L290 TraceCheckUtils]: 33: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L272 TraceCheckUtils]: 32: Hoare triple {20443#(< ~counter~0 7)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,109 INFO L290 TraceCheckUtils]: 31: Hoare triple {20443#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,110 INFO L290 TraceCheckUtils]: 30: Hoare triple {20227#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20443#(< ~counter~0 7)} is VALID [2022-04-28 13:01:13,110 INFO L290 TraceCheckUtils]: 29: Hoare triple {20227#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,110 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19977#true} {20227#(<= ~counter~0 5)} #86#return; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {20227#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19977#true} {20227#(<= ~counter~0 5)} #84#return; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 22: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 21: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,111 INFO L272 TraceCheckUtils]: 19: Hoare triple {20227#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,112 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19977#true} {20227#(<= ~counter~0 5)} #82#return; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,112 INFO L272 TraceCheckUtils]: 14: Hoare triple {20227#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {20227#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {20184#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20227#(<= ~counter~0 5)} is VALID [2022-04-28 13:01:13,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {20184#(<= ~counter~0 4)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19977#true} {20184#(<= ~counter~0 4)} #80#return; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {19977#true} assume true; {19977#true} is VALID [2022-04-28 13:01:13,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {19977#true} assume !(0 == ~cond); {19977#true} is VALID [2022-04-28 13:01:13,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {19977#true} ~cond := #in~cond; {19977#true} is VALID [2022-04-28 13:01:13,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {20184#(<= ~counter~0 4)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19977#true} is VALID [2022-04-28 13:01:13,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {20184#(<= ~counter~0 4)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {20184#(<= ~counter~0 4)} call #t~ret8 := main(); {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20184#(<= ~counter~0 4)} {19977#true} #96#return; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {20184#(<= ~counter~0 4)} assume true; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {19977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20184#(<= ~counter~0 4)} is VALID [2022-04-28 13:01:13,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {19977#true} call ULTIMATE.init(); {19977#true} is VALID [2022-04-28 13:01:13,123 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:01:13,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:13,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816444594] [2022-04-28 13:01:13,123 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:13,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [899460585] [2022-04-28 13:01:13,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [899460585] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:13,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:13,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 13:01:13,124 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:13,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [634822141] [2022-04-28 13:01:13,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [634822141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:13,124 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:13,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:01:13,124 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1176278615] [2022-04-28 13:01:13,124 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:13,124 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 13:01:13,124 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:13,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:13,196 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 13:01:13,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:01:13,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:13,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:01:13,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:01:13,197 INFO L87 Difference]: Start difference. First operand 207 states and 245 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:13,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:13,944 INFO L93 Difference]: Finished difference Result 260 states and 302 transitions. [2022-04-28 13:01:13,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:01:13,944 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 13:01:13,944 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:13,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:13,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 135 transitions. [2022-04-28 13:01:13,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:13,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 135 transitions. [2022-04-28 13:01:13,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 135 transitions. [2022-04-28 13:01:14,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:14,020 INFO L225 Difference]: With dead ends: 260 [2022-04-28 13:01:14,020 INFO L226 Difference]: Without dead ends: 246 [2022-04-28 13:01:14,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 186 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:01:14,021 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 42 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:14,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 216 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:01:14,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 246 states. [2022-04-28 13:01:14,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 246 to 245. [2022-04-28 13:01:14,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:14,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 246 states. Second operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:01:14,201 INFO L74 IsIncluded]: Start isIncluded. First operand 246 states. Second operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:01:14,201 INFO L87 Difference]: Start difference. First operand 246 states. Second operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:01:14,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:14,204 INFO L93 Difference]: Finished difference Result 246 states and 282 transitions. [2022-04-28 13:01:14,204 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 282 transitions. [2022-04-28 13:01:14,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:14,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:14,205 INFO L74 IsIncluded]: Start isIncluded. First operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) Second operand 246 states. [2022-04-28 13:01:14,205 INFO L87 Difference]: Start difference. First operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) Second operand 246 states. [2022-04-28 13:01:14,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:14,209 INFO L93 Difference]: Finished difference Result 246 states and 282 transitions. [2022-04-28 13:01:14,209 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 282 transitions. [2022-04-28 13:01:14,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:14,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:14,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:14,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:14,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 163 states have (on average 1.1349693251533743) internal successors, (185), 172 states have internal predecessors, (185), 50 states have call successors, (50), 32 states have call predecessors, (50), 31 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 13:01:14,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 281 transitions. [2022-04-28 13:01:14,214 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 281 transitions. Word has length 100 [2022-04-28 13:01:14,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:14,214 INFO L495 AbstractCegarLoop]: Abstraction has 245 states and 281 transitions. [2022-04-28 13:01:14,215 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 13:01:14,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 245 states and 281 transitions. [2022-04-28 13:01:16,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 280 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:16,579 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 281 transitions. [2022-04-28 13:01:16,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 13:01:16,580 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:16,580 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:01:16,596 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 13:01:16,780 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:16,780 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:16,781 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:16,781 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 9 times [2022-04-28 13:01:16,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:16,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [429931651] [2022-04-28 13:01:26,155 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:01:26,155 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:01:26,155 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 10 times [2022-04-28 13:01:26,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:26,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [126525084] [2022-04-28 13:01:26,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:26,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:26,165 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:26,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [952693225] [2022-04-28 13:01:26,165 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:01:26,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:26,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:26,186 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:01:26,190 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 13:01:26,249 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:01:26,249 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:26,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 13:01:26,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:26,269 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:31,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {22096#true} call ULTIMATE.init(); {22096#true} is VALID [2022-04-28 13:01:31,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {22096#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22096#true} {22096#true} #96#return; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {22096#true} call #t~ret8 := main(); {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {22096#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {22096#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22096#true} {22096#true} #80#return; {22096#true} is VALID [2022-04-28 13:01:31,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {22096#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,340 INFO L290 TraceCheckUtils]: 13: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,340 INFO L272 TraceCheckUtils]: 14: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,340 INFO L290 TraceCheckUtils]: 16: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {22096#true} {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,341 INFO L272 TraceCheckUtils]: 19: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22096#true} {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,341 INFO L272 TraceCheckUtils]: 24: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L290 TraceCheckUtils]: 25: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,341 INFO L290 TraceCheckUtils]: 26: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,342 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {22096#true} {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:01:31,343 INFO L290 TraceCheckUtils]: 29: Hoare triple {22134#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,344 INFO L272 TraceCheckUtils]: 32: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22096#true} {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #82#return; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,344 INFO L272 TraceCheckUtils]: 37: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,344 INFO L290 TraceCheckUtils]: 40: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,345 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22096#true} {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #84#return; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,345 INFO L272 TraceCheckUtils]: 42: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,345 INFO L290 TraceCheckUtils]: 43: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,345 INFO L290 TraceCheckUtils]: 44: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,345 INFO L290 TraceCheckUtils]: 45: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,345 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22096#true} {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #86#return; {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,346 INFO L290 TraceCheckUtils]: 47: Hoare triple {22189#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,347 INFO L290 TraceCheckUtils]: 48: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 10);havoc #t~post6; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,347 INFO L272 TraceCheckUtils]: 50: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,347 INFO L290 TraceCheckUtils]: 51: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,347 INFO L290 TraceCheckUtils]: 52: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,376 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22096#true} {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,376 INFO L272 TraceCheckUtils]: 55: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,376 INFO L290 TraceCheckUtils]: 56: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,376 INFO L290 TraceCheckUtils]: 57: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,376 INFO L290 TraceCheckUtils]: 58: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,377 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22096#true} {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,377 INFO L272 TraceCheckUtils]: 60: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,377 INFO L290 TraceCheckUtils]: 61: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,377 INFO L290 TraceCheckUtils]: 62: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,377 INFO L290 TraceCheckUtils]: 63: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,378 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22096#true} {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,378 INFO L290 TraceCheckUtils]: 65: Hoare triple {22244#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,379 INFO L290 TraceCheckUtils]: 67: Hoare triple {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 10);havoc #t~post7; {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,379 INFO L272 TraceCheckUtils]: 68: Hoare triple {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,379 INFO L290 TraceCheckUtils]: 69: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,379 INFO L290 TraceCheckUtils]: 70: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,379 INFO L290 TraceCheckUtils]: 71: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,403 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22096#true} {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,403 INFO L272 TraceCheckUtils]: 73: Hoare triple {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,403 INFO L290 TraceCheckUtils]: 74: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,403 INFO L290 TraceCheckUtils]: 75: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,403 INFO L290 TraceCheckUtils]: 76: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,404 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {22096#true} {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:01:31,405 INFO L290 TraceCheckUtils]: 78: Hoare triple {22299#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22339#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} is VALID [2022-04-28 13:01:31,407 INFO L290 TraceCheckUtils]: 79: Hoare triple {22339#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 13:01:31,407 INFO L290 TraceCheckUtils]: 80: Hoare triple {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 13:01:31,408 INFO L290 TraceCheckUtils]: 81: Hoare triple {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 10);havoc #t~post7; {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 13:01:31,408 INFO L272 TraceCheckUtils]: 82: Hoare triple {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,408 INFO L290 TraceCheckUtils]: 83: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,408 INFO L290 TraceCheckUtils]: 84: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,408 INFO L290 TraceCheckUtils]: 85: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,409 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22096#true} {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} #88#return; {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 13:01:31,409 INFO L272 TraceCheckUtils]: 87: Hoare triple {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:01:31,409 INFO L290 TraceCheckUtils]: 88: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:01:31,409 INFO L290 TraceCheckUtils]: 89: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:01:31,409 INFO L290 TraceCheckUtils]: 90: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:01:31,410 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22096#true} {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} #90#return; {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 13:01:31,411 INFO L290 TraceCheckUtils]: 92: Hoare triple {22343#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 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); {22383#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:01:31,413 INFO L290 TraceCheckUtils]: 93: Hoare triple {22383#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:01:31,413 INFO L290 TraceCheckUtils]: 94: Hoare triple {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:01:31,414 INFO L290 TraceCheckUtils]: 95: Hoare triple {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:01:31,414 INFO L272 TraceCheckUtils]: 96: Hoare triple {22387#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (- 2) main_~q~0) 1) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22397#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:01:31,415 INFO L290 TraceCheckUtils]: 97: Hoare triple {22397#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22401#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:31,415 INFO L290 TraceCheckUtils]: 98: Hoare triple {22401#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22097#false} is VALID [2022-04-28 13:01:31,415 INFO L290 TraceCheckUtils]: 99: Hoare triple {22097#false} assume !false; {22097#false} is VALID [2022-04-28 13:01:31,416 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:01:31,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:02:15,791 WARN L232 SmtUtils]: Spent 8.34s on a formula simplification that was a NOOP. DAG size: 142 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:02:52,358 INFO L290 TraceCheckUtils]: 99: Hoare triple {22097#false} assume !false; {22097#false} is VALID [2022-04-28 13:02:52,359 INFO L290 TraceCheckUtils]: 98: Hoare triple {22401#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22097#false} is VALID [2022-04-28 13:02:52,359 INFO L290 TraceCheckUtils]: 97: Hoare triple {22397#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22401#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:52,360 INFO L272 TraceCheckUtils]: 96: Hoare triple {22417#(= (+ 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)); {22397#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:52,360 INFO L290 TraceCheckUtils]: 95: Hoare triple {22417#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 10);havoc #t~post7; {22417#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:52,360 INFO L290 TraceCheckUtils]: 94: Hoare triple {22417#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22417#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:52,363 INFO L290 TraceCheckUtils]: 93: Hoare triple {22427#(= (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; {22417#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:02:52,371 INFO L290 TraceCheckUtils]: 92: Hoare triple {22431#(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); {22427#(= (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 13:02:52,372 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22096#true} {22431#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {22431#(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 13:02:52,372 INFO L290 TraceCheckUtils]: 90: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,372 INFO L290 TraceCheckUtils]: 89: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,372 INFO L290 TraceCheckUtils]: 88: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,372 INFO L272 TraceCheckUtils]: 87: Hoare triple {22431#(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)); {22096#true} is VALID [2022-04-28 13:02:52,373 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22096#true} {22431#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {22431#(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 13:02:52,373 INFO L290 TraceCheckUtils]: 85: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,373 INFO L290 TraceCheckUtils]: 84: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,373 INFO L290 TraceCheckUtils]: 83: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,373 INFO L272 TraceCheckUtils]: 82: Hoare triple {22431#(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)); {22096#true} is VALID [2022-04-28 13:02:52,374 INFO L290 TraceCheckUtils]: 81: Hoare triple {22431#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 10);havoc #t~post7; {22431#(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 13:02:52,375 INFO L290 TraceCheckUtils]: 80: Hoare triple {22431#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22431#(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 13:02:52,387 INFO L290 TraceCheckUtils]: 79: Hoare triple {22471#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22431#(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 13:02:52,592 INFO L290 TraceCheckUtils]: 78: Hoare triple {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} 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); {22471#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:02:52,593 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {22096#true} {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #90#return; {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-28 13:02:52,593 INFO L290 TraceCheckUtils]: 76: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,593 INFO L290 TraceCheckUtils]: 75: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,600 INFO L290 TraceCheckUtils]: 74: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,601 INFO L272 TraceCheckUtils]: 73: Hoare triple {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,603 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22096#true} {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #88#return; {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-28 13:02:52,603 INFO L290 TraceCheckUtils]: 71: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,603 INFO L290 TraceCheckUtils]: 70: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,603 INFO L290 TraceCheckUtils]: 69: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,603 INFO L272 TraceCheckUtils]: 68: Hoare triple {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,608 INFO L290 TraceCheckUtils]: 67: Hoare triple {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} assume !!(#t~post7 < 10);havoc #t~post7; {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-28 13:02:52,623 INFO L290 TraceCheckUtils]: 66: Hoare triple {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-28 13:02:52,626 INFO L290 TraceCheckUtils]: 65: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {22475#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-28 13:02:52,627 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22096#true} {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} #86#return; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,627 INFO L290 TraceCheckUtils]: 63: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,627 INFO L290 TraceCheckUtils]: 62: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,627 INFO L290 TraceCheckUtils]: 61: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,627 INFO L272 TraceCheckUtils]: 60: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,628 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22096#true} {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} #84#return; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,628 INFO L290 TraceCheckUtils]: 58: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,628 INFO L290 TraceCheckUtils]: 57: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,628 INFO L290 TraceCheckUtils]: 56: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,628 INFO L272 TraceCheckUtils]: 55: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,629 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22096#true} {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} #82#return; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,629 INFO L290 TraceCheckUtils]: 53: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,629 INFO L290 TraceCheckUtils]: 52: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,629 INFO L290 TraceCheckUtils]: 51: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,629 INFO L272 TraceCheckUtils]: 50: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,634 INFO L290 TraceCheckUtils]: 49: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,639 INFO L290 TraceCheckUtils]: 48: Hoare triple {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (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; {22515#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:02:52,669 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22096#true} {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,669 INFO L290 TraceCheckUtils]: 43: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,670 INFO L272 TraceCheckUtils]: 42: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (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)); {22096#true} is VALID [2022-04-28 13:02:52,670 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22096#true} {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,670 INFO L290 TraceCheckUtils]: 39: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,670 INFO L272 TraceCheckUtils]: 37: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (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)); {22096#true} is VALID [2022-04-28 13:02:52,671 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22096#true} {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,671 INFO L290 TraceCheckUtils]: 34: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,671 INFO L290 TraceCheckUtils]: 33: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,671 INFO L272 TraceCheckUtils]: 32: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (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)); {22096#true} is VALID [2022-04-28 13:02:52,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22570#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:02:52,678 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {22096#true} {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #86#return; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,679 INFO L272 TraceCheckUtils]: 24: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,679 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22096#true} {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #84#return; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,679 INFO L290 TraceCheckUtils]: 21: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,679 INFO L272 TraceCheckUtils]: 19: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,680 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {22096#true} {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #82#return; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,680 INFO L290 TraceCheckUtils]: 16: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,680 INFO L272 TraceCheckUtils]: 14: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 10);havoc #t~post6; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {22096#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {22625#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:02:52,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22096#true} {22096#true} #80#return; {22096#true} is VALID [2022-04-28 13:02:52,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {22096#true} assume !(0 == ~cond); {22096#true} is VALID [2022-04-28 13:02:52,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {22096#true} ~cond := #in~cond; {22096#true} is VALID [2022-04-28 13:02:52,684 INFO L272 TraceCheckUtils]: 6: Hoare triple {22096#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {22096#true} is VALID [2022-04-28 13:02:52,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {22096#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {22096#true} is VALID [2022-04-28 13:02:52,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {22096#true} call #t~ret8 := main(); {22096#true} is VALID [2022-04-28 13:02:52,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22096#true} {22096#true} #96#return; {22096#true} is VALID [2022-04-28 13:02:52,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {22096#true} assume true; {22096#true} is VALID [2022-04-28 13:02:52,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {22096#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22096#true} is VALID [2022-04-28 13:02:52,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {22096#true} call ULTIMATE.init(); {22096#true} is VALID [2022-04-28 13:02:52,686 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:02:52,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:02:52,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [126525084] [2022-04-28 13:02:52,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:02:52,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [952693225] [2022-04-28 13:02:52,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [952693225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:02:52,686 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:02:52,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-28 13:02:52,687 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:02:52,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [429931651] [2022-04-28 13:02:52,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [429931651] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:02:52,687 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:02:52,687 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:02:52,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1966610185] [2022-04-28 13:02:52,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:02:52,687 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 100 [2022-04-28 13:02:52,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:02:52,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:02:52,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:52,787 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:02:52,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:52,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:02:52,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=296, Unknown=1, NotChecked=0, Total=380 [2022-04-28 13:02:52,788 INFO L87 Difference]: Start difference. First operand 245 states and 281 transitions. Second operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:02:56,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:56,546 INFO L93 Difference]: Finished difference Result 270 states and 303 transitions. [2022-04-28 13:02:56,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:02:56,546 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 100 [2022-04-28 13:02:56,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:02:56,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:02:56,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 13:02:56,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:02:56,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 13:02:56,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 121 transitions. [2022-04-28 13:02:56,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:56,782 INFO L225 Difference]: With dead ends: 270 [2022-04-28 13:02:56,782 INFO L226 Difference]: Without dead ends: 233 [2022-04-28 13:02:56,783 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 20.4s TimeCoverageRelationStatistics Valid=87, Invalid=332, Unknown=1, NotChecked=0, Total=420 [2022-04-28 13:02:56,783 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 13 mSDsluCounter, 335 mSDsCounter, 0 mSdLazyCounter, 506 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 394 SdHoareTripleChecker+Invalid, 526 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 506 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:02:56,783 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 394 Invalid, 526 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 506 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-28 13:02:56,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-04-28 13:02:57,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 233. [2022-04-28 13:02:57,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:02:57,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:02:57,050 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:02:57,050 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:02:57,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:57,053 INFO L93 Difference]: Finished difference Result 233 states and 264 transitions. [2022-04-28 13:02:57,053 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 264 transitions. [2022-04-28 13:02:57,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:57,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:57,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 233 states. [2022-04-28 13:02:57,054 INFO L87 Difference]: Start difference. First operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 233 states. [2022-04-28 13:02:57,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:57,057 INFO L93 Difference]: Finished difference Result 233 states and 264 transitions. [2022-04-28 13:02:57,057 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 264 transitions. [2022-04-28 13:02:57,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:57,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:57,057 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:02:57,057 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:02:57,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 155 states have (on average 1.1290322580645162) internal successors, (175), 162 states have internal predecessors, (175), 46 states have call successors, (46), 32 states have call predecessors, (46), 31 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 13:02:57,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 264 transitions. [2022-04-28 13:02:57,061 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 264 transitions. Word has length 100 [2022-04-28 13:02:57,061 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:02:57,061 INFO L495 AbstractCegarLoop]: Abstraction has 233 states and 264 transitions. [2022-04-28 13:02:57,061 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 11 states have internal predecessors, (32), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 13:02:57,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 264 transitions. [2022-04-28 13:02:59,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 263 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 13:02:59,451 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 264 transitions. [2022-04-28 13:02:59,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 13:02:59,452 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:02:59,452 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:02:59,470 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 13:02:59,652 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:02:59,653 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:02:59,653 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:02:59,653 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 11 times [2022-04-28 13:02:59,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:59,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1307292327] [2022-04-28 13:03:09,682 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:03:09,682 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:03:09,682 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 12 times [2022-04-28 13:03:09,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:09,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487329708] [2022-04-28 13:03:09,682 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:09,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:09,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:09,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [131672137] [2022-04-28 13:03:09,695 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:03:09,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:09,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:09,698 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:03:09,699 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 13:03:09,805 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 13:03:09,806 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:09,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 13:03:09,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:09,829 INFO L286 TraceCheckSpWp]: Computing forward predicates...