/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/hard2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:28:15,000 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:28:15,001 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:28:15,033 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:28:15,034 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:28:15,035 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:28:15,039 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:28:15,044 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:28:15,046 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:28:15,051 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:28:15,051 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:28:15,052 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:28:15,052 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:28:15,052 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:28:15,053 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:28:15,054 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:28:15,055 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:28:15,072 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:28:15,074 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:28:15,079 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:28:15,080 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:28:15,082 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:28:15,083 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:28:15,085 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:28:15,086 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:28:15,088 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:28:15,088 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:28:15,088 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:28:15,089 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:28:15,089 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:28:15,090 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:28:15,090 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:28:15,092 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:28:15,092 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:28:15,092 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:28:15,093 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:28:15,093 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:28:15,094 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:28:15,094 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:28:15,094 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:28:15,094 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:28:15,095 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:28:15,096 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:28:15,103 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:28:15,104 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:28:15,106 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:28:15,106 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:28:15,107 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:28:15,107 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:28:15,108 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:28:15,108 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:28:15,108 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:28:15,108 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:28:15,108 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:28:15,108 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:28:15,108 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-08 04:28:15,346 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:28:15,373 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:28:15,375 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:28:15,376 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:28:15,377 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:28:15,378 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/hard2.c [2022-04-08 04:28:15,443 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a0dc2e84/0ec91dceff1b4119a1a531a9b67e8613/FLAGb9921f520 [2022-04-08 04:28:15,859 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:28:15,860 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard2.c [2022-04-08 04:28:15,865 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a0dc2e84/0ec91dceff1b4119a1a531a9b67e8613/FLAGb9921f520 [2022-04-08 04:28:15,880 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a0dc2e84/0ec91dceff1b4119a1a531a9b67e8613 [2022-04-08 04:28:15,882 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:28:15,885 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:28:15,886 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:28:15,886 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:28:15,890 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:28:15,890 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:28:15" (1/1) ... [2022-04-08 04:28:15,892 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7bd51669 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:15, skipping insertion in model container [2022-04-08 04:28:15,892 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:28:15" (1/1) ... [2022-04-08 04:28:15,898 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:28:15,910 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:28:16,088 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/hard2.c[526,539] [2022-04-08 04:28:16,111 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:28:16,118 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:28:16,129 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/hard2.c[526,539] [2022-04-08 04:28:16,142 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:28:16,151 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:28:16,152 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16 WrapperNode [2022-04-08 04:28:16,153 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:28:16,154 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:28:16,154 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:28:16,154 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:28:16,162 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,163 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,169 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,169 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,181 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,186 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,189 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,191 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:28:16,192 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:28:16,192 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:28:16,192 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:28:16,193 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (1/1) ... [2022-04-08 04:28:16,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:28:16,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:16,236 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-08 04:28:16,246 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-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:28:16,267 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:28:16,268 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:28:16,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:28:16,321 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:28:16,322 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:28:16,466 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:28:16,471 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:28:16,472 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 04:28:16,473 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:28:16 BoogieIcfgContainer [2022-04-08 04:28:16,473 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:28:16,474 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:28:16,474 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:28:16,482 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:28:16,482 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:28:15" (1/3) ... [2022-04-08 04:28:16,483 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58e9a67a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:28:16, skipping insertion in model container [2022-04-08 04:28:16,483 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:28:16" (2/3) ... [2022-04-08 04:28:16,483 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58e9a67a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:28:16, skipping insertion in model container [2022-04-08 04:28:16,483 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:28:16" (3/3) ... [2022-04-08 04:28:16,484 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2.c [2022-04-08 04:28:16,487 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:28:16,488 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:28:16,521 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:28:16,525 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:28:16,526 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:28:16,537 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 15 states have (on average 1.6) internal successors, (24), 16 states have internal predecessors, (24), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:28:16,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-08 04:28:16,542 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:16,542 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:16,543 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:16,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:16,548 INFO L85 PathProgramCache]: Analyzing trace with hash 1030421658, now seen corresponding path program 1 times [2022-04-08 04:28:16,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:16,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [281347337] [2022-04-08 04:28:16,561 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:16,562 INFO L85 PathProgramCache]: Analyzing trace with hash 1030421658, now seen corresponding path program 2 times [2022-04-08 04:28:16,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:16,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1131476603] [2022-04-08 04:28:16,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:16,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:16,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:16,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:28:16,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:16,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-08 04:28:16,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 04:28:16,789 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #90#return; {32#true} is VALID [2022-04-08 04:28:16,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:28:16,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-08 04:28:16,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 04:28:16,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #90#return; {32#true} is VALID [2022-04-08 04:28:16,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret5 := main(); {32#true} is VALID [2022-04-08 04:28:16,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {37#(= main_~q~0 0)} is VALID [2022-04-08 04:28:16,792 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#(= main_~q~0 0)} assume !false; {37#(= main_~q~0 0)} is VALID [2022-04-08 04:28:16,793 INFO L272 TraceCheckUtils]: 7: Hoare triple {37#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:16,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {39#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:28:16,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {33#false} is VALID [2022-04-08 04:28:16,796 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-08 04:28:16,796 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-08 04:28:16,796 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:16,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1131476603] [2022-04-08 04:28:16,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1131476603] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:16,798 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:16,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:28:16,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:16,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [281347337] [2022-04-08 04:28:16,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [281347337] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:16,801 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:16,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:28:16,801 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1610130698] [2022-04-08 04:28:16,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:16,805 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-08 04:28:16,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:16,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:28:16,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:16,826 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:28:16,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:16,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:28:16,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:28:16,846 INFO L87 Difference]: Start difference. First operand has 29 states, 15 states have (on average 1.6) internal successors, (24), 16 states have internal predecessors, (24), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:28:17,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:17,344 INFO L93 Difference]: Finished difference Result 66 states and 111 transitions. [2022-04-08 04:28:17,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:28:17,344 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-08 04:28:17,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:17,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:28:17,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 04:28:17,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:28:17,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 04:28:17,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-08 04:28:17,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:17,478 INFO L225 Difference]: With dead ends: 66 [2022-04-08 04:28:17,479 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 04:28:17,482 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:28:17,486 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 39 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:17,489 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 48 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:28:17,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 04:28:17,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 28. [2022-04-08 04:28:17,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:17,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:17,512 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:17,513 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:17,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:17,517 INFO L93 Difference]: Finished difference Result 35 states and 47 transitions. [2022-04-08 04:28:17,518 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 47 transitions. [2022-04-08 04:28:17,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:17,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:17,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 35 states. [2022-04-08 04:28:17,520 INFO L87 Difference]: Start difference. First operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 35 states. [2022-04-08 04:28:17,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:17,528 INFO L93 Difference]: Finished difference Result 35 states and 47 transitions. [2022-04-08 04:28:17,528 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 47 transitions. [2022-04-08 04:28:17,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:17,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:17,529 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:17,529 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:17,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:17,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 35 transitions. [2022-04-08 04:28:17,533 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 35 transitions. Word has length 11 [2022-04-08 04:28:17,533 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:17,533 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 35 transitions. [2022-04-08 04:28:17,534 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:28:17,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 35 transitions. [2022-04-08 04:28:17,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:17,570 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 35 transitions. [2022-04-08 04:28:17,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-04-08 04:28:17,575 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:17,576 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:17,576 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:28:17,576 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:17,577 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:17,577 INFO L85 PathProgramCache]: Analyzing trace with hash -1237898617, now seen corresponding path program 1 times [2022-04-08 04:28:17,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:17,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2066258385] [2022-04-08 04:28:17,579 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:17,579 INFO L85 PathProgramCache]: Analyzing trace with hash -1237898617, now seen corresponding path program 2 times [2022-04-08 04:28:17,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:17,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1099089030] [2022-04-08 04:28:17,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:17,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:17,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:17,640 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:28:17,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:17,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {321#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {309#true} is VALID [2022-04-08 04:28:17,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#true} assume true; {309#true} is VALID [2022-04-08 04:28:17,647 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#true} {309#true} #90#return; {309#true} is VALID [2022-04-08 04:28:17,647 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 04:28:17,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:17,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {309#true} ~cond := #in~cond; {309#true} is VALID [2022-04-08 04:28:17,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#true} assume !(0 == ~cond); {309#true} is VALID [2022-04-08 04:28:17,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#true} assume true; {309#true} is VALID [2022-04-08 04:28:17,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#true} {314#(= main_~A~0 main_~r~0)} #76#return; {314#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 04:28:17,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {309#true} call ULTIMATE.init(); {321#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:28:17,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {321#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {309#true} is VALID [2022-04-08 04:28:17,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#true} assume true; {309#true} is VALID [2022-04-08 04:28:17,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#true} {309#true} #90#return; {309#true} is VALID [2022-04-08 04:28:17,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#true} call #t~ret5 := main(); {309#true} is VALID [2022-04-08 04:28:17,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {314#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 04:28:17,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {314#(= main_~A~0 main_~r~0)} assume !false; {314#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 04:28:17,656 INFO L272 TraceCheckUtils]: 7: Hoare triple {314#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {309#true} is VALID [2022-04-08 04:28:17,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {309#true} ~cond := #in~cond; {309#true} is VALID [2022-04-08 04:28:17,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {309#true} assume !(0 == ~cond); {309#true} is VALID [2022-04-08 04:28:17,656 INFO L290 TraceCheckUtils]: 10: Hoare triple {309#true} assume true; {309#true} is VALID [2022-04-08 04:28:17,657 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {309#true} {314#(= main_~A~0 main_~r~0)} #76#return; {314#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 04:28:17,657 INFO L272 TraceCheckUtils]: 12: Hoare triple {314#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:17,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {319#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {320#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:28:17,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {320#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {310#false} is VALID [2022-04-08 04:28:17,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {310#false} assume !false; {310#false} is VALID [2022-04-08 04:28:17,659 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-08 04:28:17,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:17,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1099089030] [2022-04-08 04:28:17,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1099089030] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:17,659 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:17,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:28:17,660 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:17,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2066258385] [2022-04-08 04:28:17,660 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2066258385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:17,660 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:17,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:28:17,660 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565468823] [2022-04-08 04:28:17,660 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:17,661 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 16 [2022-04-08 04:28:17,661 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:17,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:28:17,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:17,672 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:28:17,672 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:17,673 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:28:17,673 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:28:17,673 INFO L87 Difference]: Start difference. First operand 28 states and 35 transitions. Second operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:28:17,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:17,961 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-08 04:28:17,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:28:17,961 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 16 [2022-04-08 04:28:17,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:17,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:28:17,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2022-04-08 04:28:17,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:28:17,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2022-04-08 04:28:17,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 49 transitions. [2022-04-08 04:28:18,003 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-08 04:28:18,004 INFO L225 Difference]: With dead ends: 41 [2022-04-08 04:28:18,004 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 04:28:18,005 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 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-08 04:28:18,005 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 28 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:18,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 40 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:28:18,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 04:28:18,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 32. [2022-04-08 04:28:18,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:18,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:18,012 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:18,012 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:18,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:18,014 INFO L93 Difference]: Finished difference Result 39 states and 50 transitions. [2022-04-08 04:28:18,014 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 50 transitions. [2022-04-08 04:28:18,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:18,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:18,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-08 04:28:18,015 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-08 04:28:18,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:18,017 INFO L93 Difference]: Finished difference Result 39 states and 50 transitions. [2022-04-08 04:28:18,017 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 50 transitions. [2022-04-08 04:28:18,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:18,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:18,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:18,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:18,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:28:18,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2022-04-08 04:28:18,020 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 16 [2022-04-08 04:28:18,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:18,020 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2022-04-08 04:28:18,020 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.6666666666666667) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:28:18,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 38 transitions. [2022-04-08 04:28:18,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:18,055 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-08 04:28:18,056 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-08 04:28:18,056 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:18,056 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:18,056 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 04:28:18,056 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:18,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:18,057 INFO L85 PathProgramCache]: Analyzing trace with hash 998817914, now seen corresponding path program 1 times [2022-04-08 04:28:18,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:18,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [98050775] [2022-04-08 04:28:18,061 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:18,061 INFO L85 PathProgramCache]: Analyzing trace with hash 998817914, now seen corresponding path program 2 times [2022-04-08 04:28:18,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:18,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [254873553] [2022-04-08 04:28:18,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:18,062 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:18,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:18,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [545316680] [2022-04-08 04:28:18,084 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:28:18,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:18,084 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:18,099 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-08 04:28:18,100 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-08 04:28:18,134 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:28:18,134 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:18,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 04:28:18,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:18,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:18,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {556#true} call ULTIMATE.init(); {556#true} is VALID [2022-04-08 04:28:18,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {556#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(8, 2);call #Ultimate.allocInit(12, 3); {556#true} is VALID [2022-04-08 04:28:18,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {556#true} assume true; {556#true} is VALID [2022-04-08 04:28:18,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {556#true} {556#true} #90#return; {556#true} is VALID [2022-04-08 04:28:18,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {556#true} call #t~ret5 := main(); {556#true} is VALID [2022-04-08 04:28:18,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {556#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:18,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:18,351 INFO L272 TraceCheckUtils]: 7: Hoare triple {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {556#true} is VALID [2022-04-08 04:28:18,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {556#true} ~cond := #in~cond; {556#true} is VALID [2022-04-08 04:28:18,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {556#true} assume !(0 == ~cond); {556#true} is VALID [2022-04-08 04:28:18,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {556#true} assume true; {556#true} is VALID [2022-04-08 04:28:18,352 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {556#true} {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:18,352 INFO L272 TraceCheckUtils]: 12: Hoare triple {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {556#true} is VALID [2022-04-08 04:28:18,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {556#true} ~cond := #in~cond; {556#true} is VALID [2022-04-08 04:28:18,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {556#true} assume !(0 == ~cond); {556#true} is VALID [2022-04-08 04:28:18,353 INFO L290 TraceCheckUtils]: 15: Hoare triple {556#true} assume true; {556#true} is VALID [2022-04-08 04:28:18,353 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {556#true} {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:18,354 INFO L272 TraceCheckUtils]: 17: Hoare triple {576#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {613#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:18,354 INFO L290 TraceCheckUtils]: 18: Hoare triple {613#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {617#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:18,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {617#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {557#false} is VALID [2022-04-08 04:28:18,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {557#false} assume !false; {557#false} is VALID [2022-04-08 04:28:18,355 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-08 04:28:18,355 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:28:18,356 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:18,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [254873553] [2022-04-08 04:28:18,356 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:18,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [545316680] [2022-04-08 04:28:18,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [545316680] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:18,356 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:18,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:18,357 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:18,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [98050775] [2022-04-08 04:28:18,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [98050775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:18,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:18,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:18,357 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323469743] [2022-04-08 04:28:18,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:18,357 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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 21 [2022-04-08 04:28:18,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:18,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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-08 04:28:18,370 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-08 04:28:18,370 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:28:18,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:18,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:28:18,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:28:18,371 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. Second operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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-08 04:28:18,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:18,512 INFO L93 Difference]: Finished difference Result 60 states and 78 transitions. [2022-04-08 04:28:18,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:28:18,512 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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 21 [2022-04-08 04:28:18,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:18,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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-08 04:28:18,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-08 04:28:18,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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-08 04:28:18,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2022-04-08 04:28:18,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 72 transitions. [2022-04-08 04:28:18,572 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-08 04:28:18,575 INFO L225 Difference]: With dead ends: 60 [2022-04-08 04:28:18,575 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 04:28:18,576 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 17 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-08 04:28:18,578 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 8 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:18,579 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 105 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:28:18,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 04:28:18,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-08 04:28:18,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:18,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:28:18,590 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:28:18,590 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:28:18,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:18,592 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-04-08 04:28:18,593 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-08 04:28:18,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:18,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:18,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 46 states. [2022-04-08 04:28:18,594 INFO L87 Difference]: Start difference. First operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 46 states. [2022-04-08 04:28:18,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:18,596 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-04-08 04:28:18,596 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-08 04:28:18,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:18,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:18,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:18,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:18,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 25 states have (on average 1.2) internal successors, (30), 27 states have internal predecessors, (30), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:28:18,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 57 transitions. [2022-04-08 04:28:18,599 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 57 transitions. Word has length 21 [2022-04-08 04:28:18,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:18,599 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 57 transitions. [2022-04-08 04:28:18,599 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 4 states have internal predecessors, (10), 2 states have call successors, (5), 2 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-08 04:28:18,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 57 transitions. [2022-04-08 04:28:18,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:18,654 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-04-08 04:28:18,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 04:28:18,657 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:18,657 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:18,677 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-08 04:28:18,867 WARN L460 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-08 04:28:18,867 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:18,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:18,868 INFO L85 PathProgramCache]: Analyzing trace with hash 1073979732, now seen corresponding path program 1 times [2022-04-08 04:28:18,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:18,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1596338851] [2022-04-08 04:28:18,869 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:18,869 INFO L85 PathProgramCache]: Analyzing trace with hash 1073979732, now seen corresponding path program 2 times [2022-04-08 04:28:18,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:18,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1375574698] [2022-04-08 04:28:18,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:18,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:18,898 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:18,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1082054694] [2022-04-08 04:28:18,899 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:28:18,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:18,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:18,904 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-08 04:28:18,905 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-08 04:28:18,937 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:28:18,937 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:18,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:28:18,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:18,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:19,080 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-08 04:28:19,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-08 04:28:19,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 04:28:19,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #90#return; {929#true} is VALID [2022-04-08 04:28:19,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret5 := main(); {929#true} is VALID [2022-04-08 04:28:19,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,081 INFO L272 TraceCheckUtils]: 7: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-08 04:28:19,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 04:28:19,082 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 04:28:19,082 INFO L290 TraceCheckUtils]: 10: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 04:28:19,082 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {929#true} {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #76#return; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,082 INFO L272 TraceCheckUtils]: 12: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {929#true} is VALID [2022-04-08 04:28:19,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 04:28:19,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 04:28:19,083 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 04:28:19,086 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,086 INFO L272 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {929#true} is VALID [2022-04-08 04:28:19,086 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 04:28:19,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 04:28:19,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 04:28:19,087 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:19,089 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:19,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {1007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:19,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {1011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-08 04:28:19,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-08 04:28:19,091 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-08 04:28:19,091 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:28:19,091 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:19,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1375574698] [2022-04-08 04:28:19,091 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:19,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1082054694] [2022-04-08 04:28:19,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1082054694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:19,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:19,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:19,092 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:19,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1596338851] [2022-04-08 04:28:19,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1596338851] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:19,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:19,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:19,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1666547257] [2022-04-08 04:28:19,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:19,093 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:19,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:19,108 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:28:19,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:19,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:28:19,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:28:19,109 INFO L87 Difference]: Start difference. First operand 46 states and 57 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:19,250 INFO L93 Difference]: Finished difference Result 59 states and 74 transitions. [2022-04-08 04:28:19,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:28:19,251 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:19,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-08 04:28:19,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-08 04:28:19,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-08 04:28:19,294 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-08 04:28:19,296 INFO L225 Difference]: With dead ends: 59 [2022-04-08 04:28:19,296 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 04:28:19,296 INFO L912 BasicCegarLoop]: 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-08 04:28:19,297 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 9 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:19,297 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 81 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:28:19,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 04:28:19,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-04-08 04:28:19,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:19,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:28:19,321 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:28:19,322 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:28:19,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:19,324 INFO L93 Difference]: Finished difference Result 52 states and 64 transitions. [2022-04-08 04:28:19,324 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 64 transitions. [2022-04-08 04:28:19,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:19,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:19,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 04:28:19,325 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 04:28:19,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:19,327 INFO L93 Difference]: Finished difference Result 52 states and 64 transitions. [2022-04-08 04:28:19,327 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 64 transitions. [2022-04-08 04:28:19,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:19,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:19,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:19,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:19,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 15 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:28:19,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2022-04-08 04:28:19,330 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 63 transitions. Word has length 28 [2022-04-08 04:28:19,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:19,330 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 63 transitions. [2022-04-08 04:28:19,330 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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-08 04:28:19,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 63 transitions. [2022-04-08 04:28:19,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:19,390 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 63 transitions. [2022-04-08 04:28:19,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 04:28:19,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:19,391 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:19,411 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-08 04:28:19,607 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-08 04:28:19,607 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:19,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:19,608 INFO L85 PathProgramCache]: Analyzing trace with hash 1568039909, now seen corresponding path program 1 times [2022-04-08 04:28:19,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:19,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1172195104] [2022-04-08 04:28:21,862 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:28:21,862 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:28:21,862 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:28:21,862 INFO L85 PathProgramCache]: Analyzing trace with hash 1568039909, now seen corresponding path program 2 times [2022-04-08 04:28:21,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:21,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [696157839] [2022-04-08 04:28:21,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:21,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:21,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:21,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1046822943] [2022-04-08 04:28:21,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:28:21,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:21,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:21,891 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-08 04:28:21,891 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-08 04:28:21,926 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:28:21,926 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:21,927 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 04:28:21,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:21,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:22,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {1343#true} call ULTIMATE.init(); {1343#true} is VALID [2022-04-08 04:28:22,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {1343#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(8, 2);call #Ultimate.allocInit(12, 3); {1343#true} is VALID [2022-04-08 04:28:22,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1343#true} {1343#true} #90#return; {1343#true} is VALID [2022-04-08 04:28:22,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {1343#true} call #t~ret5 := main(); {1343#true} is VALID [2022-04-08 04:28:22,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {1343#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:22,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:22,107 INFO L272 TraceCheckUtils]: 7: Hoare triple {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,107 INFO L290 TraceCheckUtils]: 10: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,107 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1343#true} {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:22,108 INFO L272 TraceCheckUtils]: 12: Hoare triple {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,110 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1343#true} {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:22,110 INFO L272 TraceCheckUtils]: 17: Hoare triple {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,111 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1343#true} {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:22,112 INFO L290 TraceCheckUtils]: 22: Hoare triple {1363#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 04:28:22,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 04:28:22,112 INFO L272 TraceCheckUtils]: 24: Hoare triple {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,115 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1343#true} {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #76#return; {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 04:28:22,115 INFO L272 TraceCheckUtils]: 29: Hoare triple {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,123 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1343#true} {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 04:28:22,124 INFO L272 TraceCheckUtils]: 34: Hoare triple {1415#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1452#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:22,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {1452#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1456#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:22,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {1456#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1344#false} is VALID [2022-04-08 04:28:22,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {1344#false} assume !false; {1344#false} is VALID [2022-04-08 04:28:22,140 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 04:28:22,140 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:22,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {1344#false} assume !false; {1344#false} is VALID [2022-04-08 04:28:22,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {1456#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1344#false} is VALID [2022-04-08 04:28:22,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {1452#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1456#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:22,315 INFO L272 TraceCheckUtils]: 34: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1452#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:22,315 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1343#true} {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,316 INFO L290 TraceCheckUtils]: 32: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,316 INFO L290 TraceCheckUtils]: 31: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,316 INFO L290 TraceCheckUtils]: 30: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,316 INFO L272 TraceCheckUtils]: 29: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,317 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1343#true} {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} #76#return; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,317 INFO L290 TraceCheckUtils]: 27: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,317 INFO L290 TraceCheckUtils]: 25: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,317 INFO L272 TraceCheckUtils]: 24: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,322 INFO L290 TraceCheckUtils]: 23: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,326 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1343#true} {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,326 INFO L290 TraceCheckUtils]: 19: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,327 INFO L272 TraceCheckUtils]: 17: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,327 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1343#true} {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,328 INFO L272 TraceCheckUtils]: 12: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,328 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1343#true} {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} #76#return; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,328 INFO L290 TraceCheckUtils]: 10: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {1343#true} assume !(0 == ~cond); {1343#true} is VALID [2022-04-08 04:28:22,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {1343#true} ~cond := #in~cond; {1343#true} is VALID [2022-04-08 04:28:22,329 INFO L272 TraceCheckUtils]: 7: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1343#true} is VALID [2022-04-08 04:28:22,329 INFO L290 TraceCheckUtils]: 6: Hoare triple {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {1343#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1472#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 04:28:22,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {1343#true} call #t~ret5 := main(); {1343#true} is VALID [2022-04-08 04:28:22,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1343#true} {1343#true} #90#return; {1343#true} is VALID [2022-04-08 04:28:22,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {1343#true} assume true; {1343#true} is VALID [2022-04-08 04:28:22,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {1343#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(8, 2);call #Ultimate.allocInit(12, 3); {1343#true} is VALID [2022-04-08 04:28:22,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {1343#true} call ULTIMATE.init(); {1343#true} is VALID [2022-04-08 04:28:22,330 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 04:28:22,331 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:22,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [696157839] [2022-04-08 04:28:22,331 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:22,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046822943] [2022-04-08 04:28:22,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046822943] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:28:22,331 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:28:22,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 04:28:22,331 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:22,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1172195104] [2022-04-08 04:28:22,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1172195104] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:22,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:22,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:22,332 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [432134353] [2022-04-08 04:28:22,332 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:22,332 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 38 [2022-04-08 04:28:22,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:22,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:28:22,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:22,349 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:28:22,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:22,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:28:22,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 04:28:22,350 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:28:24,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:24,591 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-08 04:28:24,591 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:28:24,592 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 38 [2022-04-08 04:28:24,592 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:24,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:28:24,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 04:28:24,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:28:24,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 04:28:24,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 04:28:24,659 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-08 04:28:24,660 INFO L225 Difference]: With dead ends: 63 [2022-04-08 04:28:24,661 INFO L226 Difference]: Without dead ends: 61 [2022-04-08 04:28:24,661 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 68 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:28:24,661 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 8 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:24,662 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 89 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:28:24,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-08 04:28:24,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 58. [2022-04-08 04:28:24,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:24,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 04:28:24,686 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 04:28:24,687 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 04:28:24,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:24,691 INFO L93 Difference]: Finished difference Result 61 states and 76 transitions. [2022-04-08 04:28:24,691 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-08 04:28:24,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:24,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:24,693 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 61 states. [2022-04-08 04:28:24,694 INFO L87 Difference]: Start difference. First operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 61 states. [2022-04-08 04:28:24,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:24,714 INFO L93 Difference]: Finished difference Result 61 states and 76 transitions. [2022-04-08 04:28:24,714 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-08 04:28:24,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:24,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:24,714 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:24,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:24,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 36 states have internal predecessors, (39), 17 states have call successors, (17), 8 states have call predecessors, (17), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 04:28:24,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 71 transitions. [2022-04-08 04:28:24,718 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 71 transitions. Word has length 38 [2022-04-08 04:28:24,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:24,718 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 71 transitions. [2022-04-08 04:28:24,718 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:28:24,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 71 transitions. [2022-04-08 04:28:24,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:24,787 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 71 transitions. [2022-04-08 04:28:24,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 04:28:24,790 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:24,790 INFO L499 BasicCegarLoop]: 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] [2022-04-08 04:28:24,812 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 04:28:25,003 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:25,004 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:25,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:25,004 INFO L85 PathProgramCache]: Analyzing trace with hash -697745896, now seen corresponding path program 1 times [2022-04-08 04:28:25,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:25,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [932594179] [2022-04-08 04:28:29,124 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:28:29,124 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:28:29,124 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:28:29,125 INFO L85 PathProgramCache]: Analyzing trace with hash -697745896, now seen corresponding path program 2 times [2022-04-08 04:28:29,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:29,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1620512852] [2022-04-08 04:28:29,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:29,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:29,134 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:29,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [92301804] [2022-04-08 04:28:29,134 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:28:29,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:29,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:29,136 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-08 04:28:29,137 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-08 04:28:29,178 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:28:29,178 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:29,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 04:28:29,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:29,192 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:29,593 INFO L272 TraceCheckUtils]: 0: Hoare triple {1943#true} call ULTIMATE.init(); {1943#true} is VALID [2022-04-08 04:28:29,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {1943#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(8, 2);call #Ultimate.allocInit(12, 3); {1943#true} is VALID [2022-04-08 04:28:29,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1943#true} {1943#true} #90#return; {1943#true} is VALID [2022-04-08 04:28:29,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {1943#true} call #t~ret5 := main(); {1943#true} is VALID [2022-04-08 04:28:29,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {1943#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,594 INFO L290 TraceCheckUtils]: 6: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,594 INFO L272 TraceCheckUtils]: 7: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,595 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1943#true} {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,596 INFO L272 TraceCheckUtils]: 12: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,596 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1943#true} {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,597 INFO L272 TraceCheckUtils]: 17: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,597 INFO L290 TraceCheckUtils]: 19: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,597 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1943#true} {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,599 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,599 INFO L290 TraceCheckUtils]: 26: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,599 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1943#true} {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,600 INFO L272 TraceCheckUtils]: 29: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,600 INFO L290 TraceCheckUtils]: 30: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,600 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1943#true} {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,601 INFO L272 TraceCheckUtils]: 34: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,605 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1943#true} {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,608 INFO L290 TraceCheckUtils]: 40: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,608 INFO L272 TraceCheckUtils]: 41: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,608 INFO L290 TraceCheckUtils]: 42: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,608 INFO L290 TraceCheckUtils]: 43: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,609 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1943#true} {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,609 INFO L272 TraceCheckUtils]: 46: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:29,609 INFO L290 TraceCheckUtils]: 47: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:29,609 INFO L290 TraceCheckUtils]: 48: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:29,609 INFO L290 TraceCheckUtils]: 49: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:29,610 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1943#true} {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:28:29,610 INFO L290 TraceCheckUtils]: 51: Hoare triple {2015#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:29,611 INFO L290 TraceCheckUtils]: 52: Hoare triple {1963#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2106#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 04:28:29,611 INFO L290 TraceCheckUtils]: 53: Hoare triple {2106#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2106#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 04:28:29,612 INFO L272 TraceCheckUtils]: 54: Hoare triple {2106#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2113#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:29,612 INFO L290 TraceCheckUtils]: 55: Hoare triple {2113#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2117#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:29,613 INFO L290 TraceCheckUtils]: 56: Hoare triple {2117#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1944#false} is VALID [2022-04-08 04:28:29,613 INFO L290 TraceCheckUtils]: 57: Hoare triple {1944#false} assume !false; {1944#false} is VALID [2022-04-08 04:28:29,614 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 04:28:29,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:30,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {1944#false} assume !false; {1944#false} is VALID [2022-04-08 04:28:30,687 INFO L290 TraceCheckUtils]: 56: Hoare triple {2117#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1944#false} is VALID [2022-04-08 04:28:30,687 INFO L290 TraceCheckUtils]: 55: Hoare triple {2113#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2117#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:30,688 INFO L272 TraceCheckUtils]: 54: Hoare triple {2133#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2113#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:30,688 INFO L290 TraceCheckUtils]: 53: Hoare triple {2133#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2133#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:28:30,699 INFO L290 TraceCheckUtils]: 52: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2133#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:28:30,721 INFO L290 TraceCheckUtils]: 51: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,722 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1943#true} {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,722 INFO L290 TraceCheckUtils]: 49: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,722 INFO L290 TraceCheckUtils]: 48: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,722 INFO L290 TraceCheckUtils]: 47: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,722 INFO L272 TraceCheckUtils]: 46: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,723 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1943#true} {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,723 INFO L290 TraceCheckUtils]: 44: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,723 INFO L272 TraceCheckUtils]: 41: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,726 INFO L290 TraceCheckUtils]: 39: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,727 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1943#true} {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,727 INFO L290 TraceCheckUtils]: 37: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,727 INFO L290 TraceCheckUtils]: 36: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,727 INFO L272 TraceCheckUtils]: 34: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,731 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1943#true} {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #78#return; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,732 INFO L272 TraceCheckUtils]: 29: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,733 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1943#true} {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #76#return; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,733 INFO L290 TraceCheckUtils]: 26: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,733 INFO L272 TraceCheckUtils]: 24: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,743 INFO L290 TraceCheckUtils]: 22: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2144#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:28:30,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1943#true} {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,745 INFO L272 TraceCheckUtils]: 17: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1943#true} {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,746 INFO L272 TraceCheckUtils]: 12: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,746 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1943#true} {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #76#return; {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {1943#true} assume !(0 == ~cond); {1943#true} is VALID [2022-04-08 04:28:30,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {1943#true} ~cond := #in~cond; {1943#true} is VALID [2022-04-08 04:28:30,747 INFO L272 TraceCheckUtils]: 7: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1943#true} is VALID [2022-04-08 04:28:30,760 INFO L290 TraceCheckUtils]: 6: Hoare triple {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {1943#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2140#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:28:30,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {1943#true} call #t~ret5 := main(); {1943#true} is VALID [2022-04-08 04:28:30,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1943#true} {1943#true} #90#return; {1943#true} is VALID [2022-04-08 04:28:30,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {1943#true} assume true; {1943#true} is VALID [2022-04-08 04:28:30,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {1943#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(8, 2);call #Ultimate.allocInit(12, 3); {1943#true} is VALID [2022-04-08 04:28:30,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {1943#true} call ULTIMATE.init(); {1943#true} is VALID [2022-04-08 04:28:30,764 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 04:28:30,764 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:30,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1620512852] [2022-04-08 04:28:30,764 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:30,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [92301804] [2022-04-08 04:28:30,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [92301804] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:28:30,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:28:30,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 04:28:30,765 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:30,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [932594179] [2022-04-08 04:28:30,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [932594179] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:30,765 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:30,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:28:30,765 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1414833674] [2022-04-08 04:28:30,765 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:30,766 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 58 [2022-04-08 04:28:30,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:30,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:30,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:30,803 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:28:30,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:30,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:28:30,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:28:30,804 INFO L87 Difference]: Start difference. First operand 58 states and 71 transitions. Second operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:31,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:31,370 INFO L93 Difference]: Finished difference Result 124 states and 158 transitions. [2022-04-08 04:28:31,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:28:31,370 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 58 [2022-04-08 04:28:31,371 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:31,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:31,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-08 04:28:31,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:31,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-08 04:28:31,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-08 04:28:31,442 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-08 04:28:31,444 INFO L225 Difference]: With dead ends: 124 [2022-04-08 04:28:31,444 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 04:28:31,445 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 104 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:28:31,445 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 202 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 216 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 202 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:31,445 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 142 Invalid, 216 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 202 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:28:31,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 04:28:31,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2022-04-08 04:28:31,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:31,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:31,486 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:31,486 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:31,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:31,489 INFO L93 Difference]: Finished difference Result 95 states and 114 transitions. [2022-04-08 04:28:31,489 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-08 04:28:31,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:31,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:31,490 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-08 04:28:31,490 INFO L87 Difference]: Start difference. First operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-08 04:28:31,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:31,492 INFO L93 Difference]: Finished difference Result 95 states and 114 transitions. [2022-04-08 04:28:31,493 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-08 04:28:31,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:31,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:31,493 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:31,493 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:31,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 56 states have (on average 1.1607142857142858) internal successors, (65), 59 states have internal predecessors, (65), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:31,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 111 transitions. [2022-04-08 04:28:31,496 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 111 transitions. Word has length 58 [2022-04-08 04:28:31,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:31,496 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 111 transitions. [2022-04-08 04:28:31,497 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:31,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 111 transitions. [2022-04-08 04:28:31,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:31,612 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 111 transitions. [2022-04-08 04:28:31,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 04:28:31,612 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:31,612 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:28:31,629 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 04:28:31,822 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:31,822 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:31,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:31,823 INFO L85 PathProgramCache]: Analyzing trace with hash -833392887, now seen corresponding path program 3 times [2022-04-08 04:28:31,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:31,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [327886689] [2022-04-08 04:28:35,932 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:28:35,932 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:28:35,932 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:28:35,932 INFO L85 PathProgramCache]: Analyzing trace with hash -833392887, now seen corresponding path program 4 times [2022-04-08 04:28:35,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:35,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1165885613] [2022-04-08 04:28:35,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:35,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:35,946 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:35,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [673885337] [2022-04-08 04:28:35,946 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:28:35,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:35,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:35,955 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-08 04:28:35,955 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-08 04:28:36,003 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:28:36,003 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:36,004 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 04:28:36,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:36,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:42,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {2926#true} call ULTIMATE.init(); {2926#true} is VALID [2022-04-08 04:28:42,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {2926#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(8, 2);call #Ultimate.allocInit(12, 3); {2926#true} is VALID [2022-04-08 04:28:42,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2926#true} {2926#true} #90#return; {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {2926#true} call #t~ret5 := main(); {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {2926#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {2926#true} assume !false; {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L272 TraceCheckUtils]: 7: Hoare triple {2926#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {2926#true} ~cond := #in~cond; {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,741 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} {2926#true} #76#return; {2966#(= main_~q~0 0)} is VALID [2022-04-08 04:28:42,742 INFO L272 TraceCheckUtils]: 12: Hoare triple {2966#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {2926#true} ~cond := #in~cond; {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,743 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} {2966#(= main_~q~0 0)} #78#return; {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:42,743 INFO L272 TraceCheckUtils]: 17: Hoare triple {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2022-04-08 04:28:42,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2022-04-08 04:28:42,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2926#true} {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:42,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,746 INFO L272 TraceCheckUtils]: 24: Hoare triple {3001#(and (= main_~A~0 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)); {2926#true} is VALID [2022-04-08 04:28:42,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2022-04-08 04:28:42,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2022-04-08 04:28:42,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,747 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2926#true} {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #76#return; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,747 INFO L272 TraceCheckUtils]: 29: Hoare triple {3001#(and (= main_~A~0 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 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2022-04-08 04:28:42,747 INFO L290 TraceCheckUtils]: 31: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2022-04-08 04:28:42,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,748 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2926#true} {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #78#return; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,748 INFO L272 TraceCheckUtils]: 34: Hoare triple {3001#(and (= main_~A~0 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 * ~p~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2022-04-08 04:28:42,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2022-04-08 04:28:42,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,750 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2926#true} {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,750 INFO L290 TraceCheckUtils]: 39: Hoare triple {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,751 INFO L272 TraceCheckUtils]: 41: Hoare triple {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {2926#true} ~cond := #in~cond; {2926#true} is VALID [2022-04-08 04:28:42,751 INFO L290 TraceCheckUtils]: 43: Hoare triple {2926#true} assume !(0 == ~cond); {2926#true} is VALID [2022-04-08 04:28:42,751 INFO L290 TraceCheckUtils]: 44: Hoare triple {2926#true} assume true; {2926#true} is VALID [2022-04-08 04:28:42,752 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2926#true} {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,752 INFO L272 TraceCheckUtils]: 46: Hoare triple {3001#(and (= main_~A~0 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 * ~p~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,752 INFO L290 TraceCheckUtils]: 47: Hoare triple {2926#true} ~cond := #in~cond; {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,758 INFO L290 TraceCheckUtils]: 49: Hoare triple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,759 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} {3001#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {3086#(and (= main_~A~0 main_~r~0) (= (mod (* main_~B~0 main_~p~0) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:28:42,760 INFO L290 TraceCheckUtils]: 51: Hoare triple {3086#(and (= main_~A~0 main_~r~0) (= (mod (* main_~B~0 main_~p~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); {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:42,761 INFO L290 TraceCheckUtils]: 52: Hoare triple {2982#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3093#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:28:42,761 INFO L290 TraceCheckUtils]: 53: Hoare triple {3093#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {3093#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:28:42,761 INFO L272 TraceCheckUtils]: 54: Hoare triple {3093#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2926#true} is VALID [2022-04-08 04:28:42,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {2926#true} ~cond := #in~cond; {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {2955#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,766 INFO L290 TraceCheckUtils]: 57: Hoare triple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:42,767 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2959#(not (= |__VERIFIER_assert_#in~cond| 0))} {3093#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #82#return; {3112#(exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~B~0 main_~p~0) main_~A~0) (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:28:42,768 INFO L272 TraceCheckUtils]: 59: Hoare triple {3112#(exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~B~0 main_~p~0) main_~A~0) (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:42,768 INFO L290 TraceCheckUtils]: 60: Hoare triple {3116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,769 INFO L290 TraceCheckUtils]: 61: Hoare triple {3120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2927#false} is VALID [2022-04-08 04:28:42,769 INFO L290 TraceCheckUtils]: 62: Hoare triple {2927#false} assume !false; {2927#false} is VALID [2022-04-08 04:28:42,769 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 49 proven. 37 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 04:28:42,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:29:10,957 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:29:26,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:29:26,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1165885613] [2022-04-08 04:29:26,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:29:26,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673885337] [2022-04-08 04:29:26,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673885337] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:29:26,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:29:26,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-08 04:29:26,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:29:26,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [327886689] [2022-04-08 04:29:26,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [327886689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:29:26,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:29:26,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:29:26,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319672513] [2022-04-08 04:29:26,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:29:26,128 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) Word has length 63 [2022-04-08 04:29:26,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:29:26,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 04:29:26,167 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-08 04:29:26,167 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:29:26,167 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:26,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:29:26,167 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=219, Unknown=1, NotChecked=0, Total=272 [2022-04-08 04:29:26,168 INFO L87 Difference]: Start difference. First operand 93 states and 111 transitions. Second operand has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 04:29:30,323 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-08 04:29:32,841 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:29:34,848 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-08 04:29:36,900 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-08 04:29:40,317 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 3.39s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:29:47,317 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.87s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:29:47,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:47,435 INFO L93 Difference]: Finished difference Result 117 states and 139 transitions. [2022-04-08 04:29:47,435 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:29:47,435 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) Word has length 63 [2022-04-08 04:29:47,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:29:47,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 04:29:47,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 04:29:47,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 04:29:47,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 04:29:47,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-08 04:29:47,505 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-08 04:29:47,508 INFO L225 Difference]: With dead ends: 117 [2022-04-08 04:29:47,508 INFO L226 Difference]: Without dead ends: 105 [2022-04-08 04:29:47,509 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 6.2s TimeCoverageRelationStatistics Valid=81, Invalid=338, Unknown=1, NotChecked=0, Total=420 [2022-04-08 04:29:47,509 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 241 mSolverCounterSat, 19 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 241 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 43 IncrementalHoareTripleChecker+Unchecked, 14.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:29:47,509 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 136 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 241 Invalid, 5 Unknown, 43 Unchecked, 14.7s Time] [2022-04-08 04:29:47,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-08 04:29:47,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 104. [2022-04-08 04:29:47,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:29:47,576 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:29:47,576 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:29:47,576 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:29:47,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:47,581 INFO L93 Difference]: Finished difference Result 105 states and 126 transitions. [2022-04-08 04:29:47,581 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 126 transitions. [2022-04-08 04:29:47,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:47,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:47,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 105 states. [2022-04-08 04:29:47,582 INFO L87 Difference]: Start difference. First operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 105 states. [2022-04-08 04:29:47,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:47,586 INFO L93 Difference]: Finished difference Result 105 states and 126 transitions. [2022-04-08 04:29:47,586 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 126 transitions. [2022-04-08 04:29:47,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:47,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:47,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:29:47,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:29:47,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 66 states have internal predecessors, (71), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:29:47,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 125 transitions. [2022-04-08 04:29:47,591 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 125 transitions. Word has length 63 [2022-04-08 04:29:47,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:29:47,591 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 125 transitions. [2022-04-08 04:29:47,591 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 6 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 6 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 04:29:47,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 125 transitions. [2022-04-08 04:29:47,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:29:47,738 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 125 transitions. [2022-04-08 04:29:47,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 04:29:47,739 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:29:47,739 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 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] [2022-04-08 04:29:47,759 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 04:29:47,959 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:29:47,963 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:29:47,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:29:47,963 INFO L85 PathProgramCache]: Analyzing trace with hash -711069715, now seen corresponding path program 1 times [2022-04-08 04:29:47,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:47,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1139281835] [2022-04-08 04:29:50,790 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:29:50,790 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:29:50,790 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:29:50,790 INFO L85 PathProgramCache]: Analyzing trace with hash -711069715, now seen corresponding path program 2 times [2022-04-08 04:29:50,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:29:50,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1186975539] [2022-04-08 04:29:50,791 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:29:50,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:29:50,801 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:29:50,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1232695074] [2022-04-08 04:29:50,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:29:50,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:29:50,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:29:50,819 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-08 04:29:50,820 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-08 04:29:50,864 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:29:50,864 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:29:50,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 04:29:50,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:29:50,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:29:51,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {3830#true} call ULTIMATE.init(); {3830#true} is VALID [2022-04-08 04:29:51,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {3830#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(8, 2);call #Ultimate.allocInit(12, 3); {3830#true} is VALID [2022-04-08 04:29:51,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3830#true} {3830#true} #90#return; {3830#true} is VALID [2022-04-08 04:29:51,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {3830#true} call #t~ret5 := main(); {3830#true} is VALID [2022-04-08 04:29:51,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {3830#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,545 INFO L272 TraceCheckUtils]: 7: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,546 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3830#true} {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,546 INFO L272 TraceCheckUtils]: 12: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,547 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3830#true} {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,547 INFO L272 TraceCheckUtils]: 17: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,547 INFO L290 TraceCheckUtils]: 18: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,547 INFO L290 TraceCheckUtils]: 19: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,548 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3830#true} {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,548 INFO L290 TraceCheckUtils]: 22: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,549 INFO L290 TraceCheckUtils]: 23: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !false; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,549 INFO L272 TraceCheckUtils]: 24: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,550 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3830#true} {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #76#return; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,550 INFO L272 TraceCheckUtils]: 29: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,551 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3830#true} {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #78#return; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,551 INFO L272 TraceCheckUtils]: 34: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,552 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3830#true} {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #80#return; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,552 INFO L290 TraceCheckUtils]: 39: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,552 INFO L290 TraceCheckUtils]: 40: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !false; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,553 INFO L272 TraceCheckUtils]: 41: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,553 INFO L290 TraceCheckUtils]: 42: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,553 INFO L290 TraceCheckUtils]: 43: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,553 INFO L290 TraceCheckUtils]: 44: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,553 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3830#true} {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #82#return; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,553 INFO L272 TraceCheckUtils]: 46: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,554 INFO L290 TraceCheckUtils]: 47: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:51,554 INFO L290 TraceCheckUtils]: 48: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:51,554 INFO L290 TraceCheckUtils]: 49: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:51,554 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3830#true} {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #84#return; {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-08 04:29:51,555 INFO L290 TraceCheckUtils]: 51: Hoare triple {3902#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,556 INFO L290 TraceCheckUtils]: 52: Hoare triple {3850#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3993#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,556 INFO L290 TraceCheckUtils]: 53: Hoare triple {3993#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3993#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,556 INFO L272 TraceCheckUtils]: 54: Hoare triple {3993#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,556 INFO L290 TraceCheckUtils]: 55: Hoare triple {3830#true} ~cond := #in~cond; {4003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:51,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {4003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:51,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:51,558 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} {3993#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {4014#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,558 INFO L272 TraceCheckUtils]: 59: Hoare triple {4014#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:51,558 INFO L290 TraceCheckUtils]: 60: Hoare triple {3830#true} ~cond := #in~cond; {4003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:51,559 INFO L290 TraceCheckUtils]: 61: Hoare triple {4003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:51,559 INFO L290 TraceCheckUtils]: 62: Hoare triple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:51,560 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} {4014#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {4030#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:51,560 INFO L290 TraceCheckUtils]: 64: Hoare triple {4030#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {4034#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-08 04:29:51,561 INFO L272 TraceCheckUtils]: 65: Hoare triple {4034#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:29:51,561 INFO L290 TraceCheckUtils]: 66: Hoare triple {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4042#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:51,561 INFO L290 TraceCheckUtils]: 67: Hoare triple {4042#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3831#false} is VALID [2022-04-08 04:29:51,562 INFO L290 TraceCheckUtils]: 68: Hoare triple {3831#false} assume !false; {3831#false} is VALID [2022-04-08 04:29:51,563 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-08 04:29:51,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:29:58,512 INFO L290 TraceCheckUtils]: 68: Hoare triple {3831#false} assume !false; {3831#false} is VALID [2022-04-08 04:29:58,513 INFO L290 TraceCheckUtils]: 67: Hoare triple {4042#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3831#false} is VALID [2022-04-08 04:29:58,513 INFO L290 TraceCheckUtils]: 66: Hoare triple {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4042#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:58,514 INFO L272 TraceCheckUtils]: 65: Hoare triple {4058#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:29:58,514 INFO L290 TraceCheckUtils]: 64: Hoare triple {4062#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4058#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:29:58,515 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} {4066#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #84#return; {4062#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:29:58,515 INFO L290 TraceCheckUtils]: 62: Hoare triple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:58,516 INFO L290 TraceCheckUtils]: 61: Hoare triple {4076#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:58,516 INFO L290 TraceCheckUtils]: 60: Hoare triple {3830#true} ~cond := #in~cond; {4076#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:29:58,516 INFO L272 TraceCheckUtils]: 59: Hoare triple {4066#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,519 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} {3830#true} #82#return; {4066#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:29:58,519 INFO L290 TraceCheckUtils]: 57: Hoare triple {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:58,519 INFO L290 TraceCheckUtils]: 56: Hoare triple {4076#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 55: Hoare triple {3830#true} ~cond := #in~cond; {4076#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:29:58,520 INFO L272 TraceCheckUtils]: 54: Hoare triple {3830#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {3830#true} assume !false; {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 52: Hoare triple {3830#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 51: Hoare triple {3830#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); {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3830#true} {3830#true} #84#return; {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 49: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 48: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L290 TraceCheckUtils]: 47: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L272 TraceCheckUtils]: 46: Hoare triple {3830#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,520 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3830#true} {3830#true} #82#return; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 44: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 43: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 42: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L272 TraceCheckUtils]: 41: Hoare triple {3830#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {3830#true} assume !false; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 39: Hoare triple {3830#true} assume !(~r~0 >= ~d~0); {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3830#true} {3830#true} #80#return; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 37: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L272 TraceCheckUtils]: 34: Hoare triple {3830#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,521 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3830#true} {3830#true} #78#return; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 32: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 31: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L272 TraceCheckUtils]: 29: Hoare triple {3830#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3830#true} {3830#true} #76#return; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L272 TraceCheckUtils]: 24: Hoare triple {3830#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {3830#true} assume !false; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {3830#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3830#true} {3830#true} #80#return; {3830#true} is VALID [2022-04-08 04:29:58,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 19: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L272 TraceCheckUtils]: 17: Hoare triple {3830#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3830#true} {3830#true} #78#return; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 15: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L272 TraceCheckUtils]: 12: Hoare triple {3830#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3830#true} {3830#true} #76#return; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 10: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {3830#true} assume !(0 == ~cond); {3830#true} is VALID [2022-04-08 04:29:58,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {3830#true} ~cond := #in~cond; {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L272 TraceCheckUtils]: 7: Hoare triple {3830#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {3830#true} assume !false; {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {3830#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {3830#true} call #t~ret5 := main(); {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3830#true} {3830#true} #90#return; {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {3830#true} assume true; {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {3830#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(8, 2);call #Ultimate.allocInit(12, 3); {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {3830#true} call ULTIMATE.init(); {3830#true} is VALID [2022-04-08 04:29:58,524 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-08 04:29:58,525 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:29:58,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1186975539] [2022-04-08 04:29:58,525 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:29:58,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1232695074] [2022-04-08 04:29:58,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1232695074] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:29:58,525 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:29:58,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 04:29:58,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:29:58,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1139281835] [2022-04-08 04:29:58,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1139281835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:29:58,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:29:58,526 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:29:58,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1436739789] [2022-04-08 04:29:58,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:29:58,526 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:29:58,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:29:58,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:29:58,570 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-08 04:29:58,571 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:29:58,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:58,571 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:29:58,571 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:29:58,571 INFO L87 Difference]: Start difference. First operand 104 states and 125 transitions. Second operand has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:29:59,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:59,495 INFO L93 Difference]: Finished difference Result 132 states and 157 transitions. [2022-04-08 04:29:59,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:29:59,495 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:29:59,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:29:59,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:29:59,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 04:29:59,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:29:59,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 04:29:59,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 87 transitions. [2022-04-08 04:29:59,578 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-08 04:29:59,579 INFO L225 Difference]: With dead ends: 132 [2022-04-08 04:29:59,579 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 04:29:59,580 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=64, Invalid=242, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:29:59,580 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:29:59,580 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 127 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:29:59,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 04:29:59,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2022-04-08 04:29:59,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:29:59,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:29:59,641 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:29:59,644 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:29:59,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:59,647 INFO L93 Difference]: Finished difference Result 83 states and 97 transitions. [2022-04-08 04:29:59,648 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-08 04:29:59,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:59,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:59,649 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 83 states. [2022-04-08 04:29:59,649 INFO L87 Difference]: Start difference. First operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 83 states. [2022-04-08 04:29:59,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:59,652 INFO L93 Difference]: Finished difference Result 83 states and 97 transitions. [2022-04-08 04:29:59,652 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-08 04:29:59,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:59,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:59,652 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:29:59,652 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:29:59,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 22 states have call successors, (22), 12 states have call predecessors, (22), 11 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:29:59,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 97 transitions. [2022-04-08 04:29:59,655 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 97 transitions. Word has length 69 [2022-04-08 04:29:59,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:29:59,656 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 97 transitions. [2022-04-08 04:29:59,656 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.1) internal successors, (21), 9 states have internal predecessors, (21), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:29:59,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 97 transitions. [2022-04-08 04:29:59,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:29:59,766 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-08 04:29:59,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 04:29:59,766 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:29:59,767 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:29:59,785 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-08 04:29:59,977 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:29:59,978 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:29:59,978 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:29:59,978 INFO L85 PathProgramCache]: Analyzing trace with hash -1680019059, now seen corresponding path program 5 times [2022-04-08 04:29:59,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:59,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1098288763] [2022-04-08 04:30:04,072 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:30:04,072 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:30:04,072 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:30:04,072 INFO L85 PathProgramCache]: Analyzing trace with hash -1680019059, now seen corresponding path program 6 times [2022-04-08 04:30:04,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:30:04,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867827020] [2022-04-08 04:30:04,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:30:04,072 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:30:04,081 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:30:04,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1297406828] [2022-04-08 04:30:04,081 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:30:04,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:30:04,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:30:04,082 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-08 04:30:04,083 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-08 04:30:04,129 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:30:04,129 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:30:04,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:30:04,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:30:04,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:30:12,039 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:30:12,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-08 04:30:12,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {4859#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(8, 2);call #Ultimate.allocInit(12, 3); {4859#true} is VALID [2022-04-08 04:30:12,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4859#true} {4859#true} #90#return; {4859#true} is VALID [2022-04-08 04:30:12,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {4859#true} call #t~ret5 := main(); {4859#true} is VALID [2022-04-08 04:30:12,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {4859#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,456 INFO L290 TraceCheckUtils]: 6: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,456 INFO L272 TraceCheckUtils]: 7: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,456 INFO L290 TraceCheckUtils]: 10: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,457 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,457 INFO L272 TraceCheckUtils]: 12: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,457 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,457 INFO L272 TraceCheckUtils]: 17: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,461 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,461 INFO L290 TraceCheckUtils]: 22: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,462 INFO L272 TraceCheckUtils]: 24: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,462 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,463 INFO L272 TraceCheckUtils]: 29: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,463 INFO L290 TraceCheckUtils]: 30: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,463 INFO L290 TraceCheckUtils]: 31: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,463 INFO L290 TraceCheckUtils]: 32: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,468 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,468 INFO L272 TraceCheckUtils]: 34: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,468 INFO L290 TraceCheckUtils]: 35: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,468 INFO L290 TraceCheckUtils]: 36: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,469 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4859#true} {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,470 INFO L290 TraceCheckUtils]: 39: Hoare triple {4879#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,470 INFO L290 TraceCheckUtils]: 40: Hoare triple {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,470 INFO L272 TraceCheckUtils]: 41: Hoare triple {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,470 INFO L290 TraceCheckUtils]: 42: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,470 INFO L290 TraceCheckUtils]: 43: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,470 INFO L290 TraceCheckUtils]: 44: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,471 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4859#true} {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,471 INFO L272 TraceCheckUtils]: 46: Hoare triple {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,471 INFO L290 TraceCheckUtils]: 47: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,471 INFO L290 TraceCheckUtils]: 48: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,471 INFO L290 TraceCheckUtils]: 49: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,472 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4859#true} {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,472 INFO L272 TraceCheckUtils]: 51: Hoare triple {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,472 INFO L290 TraceCheckUtils]: 52: Hoare triple {4859#true} ~cond := #in~cond; {5022#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:12,472 INFO L290 TraceCheckUtils]: 53: Hoare triple {5022#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5026#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:12,473 INFO L290 TraceCheckUtils]: 54: Hoare triple {5026#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5026#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:12,473 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5026#(not (= |__VERIFIER_assert_#in~cond| 0))} {4982#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,474 INFO L290 TraceCheckUtils]: 56: Hoare triple {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,474 INFO L290 TraceCheckUtils]: 57: Hoare triple {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,474 INFO L272 TraceCheckUtils]: 58: Hoare triple {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,474 INFO L290 TraceCheckUtils]: 59: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,474 INFO L290 TraceCheckUtils]: 60: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,474 INFO L290 TraceCheckUtils]: 61: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,475 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4859#true} {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,475 INFO L272 TraceCheckUtils]: 63: Hoare triple {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4859#true} is VALID [2022-04-08 04:30:12,475 INFO L290 TraceCheckUtils]: 64: Hoare triple {4859#true} ~cond := #in~cond; {4859#true} is VALID [2022-04-08 04:30:12,475 INFO L290 TraceCheckUtils]: 65: Hoare triple {4859#true} assume !(0 == ~cond); {4859#true} is VALID [2022-04-08 04:30:12,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {4859#true} assume true; {4859#true} is VALID [2022-04-08 04:30:12,476 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4859#true} {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:30:12,478 INFO L290 TraceCheckUtils]: 68: Hoare triple {5033#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (<= 0 aux_mod_v_main_~p~0_51_22) (= (div (* main_~B~0 (+ (* main_~p~0 2) aux_mod_v_main_~p~0_51_22)) 2) main_~d~0) (< aux_mod_v_main_~p~0_51_22 2) (= (mod (* main_~B~0 (+ (* main_~p~0 2) aux_mod_v_main_~p~0_51_22)) 2) 0))))} is VALID [2022-04-08 04:30:12,480 INFO L290 TraceCheckUtils]: 69: Hoare triple {5073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (<= 0 aux_mod_v_main_~p~0_51_22) (= (div (* main_~B~0 (+ (* main_~p~0 2) aux_mod_v_main_~p~0_51_22)) 2) main_~d~0) (< aux_mod_v_main_~p~0_51_22 2) (= (mod (* main_~B~0 (+ (* main_~p~0 2) aux_mod_v_main_~p~0_51_22)) 2) 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5077#(and (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (= (mod (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2) 0) (<= 0 aux_mod_v_main_~p~0_51_22) (= (+ (* (- 1) (div (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2)) main_~A~0) main_~r~0) (< aux_mod_v_main_~p~0_51_22 2))))} is VALID [2022-04-08 04:30:12,481 INFO L290 TraceCheckUtils]: 70: Hoare triple {5077#(and (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (= (mod (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2) 0) (<= 0 aux_mod_v_main_~p~0_51_22) (= (+ (* (- 1) (div (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2)) main_~A~0) main_~r~0) (< aux_mod_v_main_~p~0_51_22 2))))} assume !false; {5077#(and (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (= (mod (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2) 0) (<= 0 aux_mod_v_main_~p~0_51_22) (= (+ (* (- 1) (div (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2)) main_~A~0) main_~r~0) (< aux_mod_v_main_~p~0_51_22 2))))} is VALID [2022-04-08 04:30:12,482 INFO L272 TraceCheckUtils]: 71: Hoare triple {5077#(and (= main_~B~0 1) (exists ((aux_mod_v_main_~p~0_51_22 Int)) (and (= (mod (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2) 0) (<= 0 aux_mod_v_main_~p~0_51_22) (= (+ (* (- 1) (div (* main_~B~0 (+ aux_mod_v_main_~p~0_51_22 (* main_~q~0 2))) 2)) main_~A~0) main_~r~0) (< aux_mod_v_main_~p~0_51_22 2))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5084#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:30:12,482 INFO L290 TraceCheckUtils]: 72: Hoare triple {5084#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5088#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:12,483 INFO L290 TraceCheckUtils]: 73: Hoare triple {5088#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 04:30:12,483 INFO L290 TraceCheckUtils]: 74: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 04:30:12,483 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 04:30:12,483 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:30:31,372 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:32:26,539 WARN L232 SmtUtils]: Spent 33.13s on a formula simplification. DAG size of input: 69 DAG size of output: 65 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:32:26,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:32:26,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867827020] [2022-04-08 04:32:26,547 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:32:26,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1297406828] [2022-04-08 04:32:26,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1297406828] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:32:26,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:32:26,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 04:32:26,548 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:32:26,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1098288763] [2022-04-08 04:32:26,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1098288763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:26,548 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:26,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:32:26,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1382483781] [2022-04-08 04:32:26,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:32:26,548 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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 75 [2022-04-08 04:32:26,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:32:26,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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-08 04:32:26,598 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:26,598 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:32:26,598 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:26,599 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:32:26,599 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:32:26,599 INFO L87 Difference]: Start difference. First operand 83 states and 97 transitions. Second operand has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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-08 04:32:27,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,081 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-08 04:32:27,081 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:32:27,081 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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 75 [2022-04-08 04:32:27,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:32:27,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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-08 04:32:27,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-08 04:32:27,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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-08 04:32:27,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-08 04:32:27,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 63 transitions. [2022-04-08 04:32:27,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:27,146 INFO L225 Difference]: With dead ends: 96 [2022-04-08 04:32:27,146 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 04:32:27,147 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 34.4s TimeCoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:32:27,147 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 19 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 33 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:32:27,147 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 104 Invalid, 204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 165 Invalid, 0 Unknown, 33 Unchecked, 0.2s Time] [2022-04-08 04:32:27,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 04:32:27,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 94. [2022-04-08 04:32:27,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:32:27,190 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:32:27,190 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:32:27,190 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:32:27,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,192 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-08 04:32:27,193 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-04-08 04:32:27,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:27,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:27,193 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-08 04:32:27,193 INFO L87 Difference]: Start difference. First operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-08 04:32:27,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,195 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-08 04:32:27,195 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-04-08 04:32:27,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:27,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:27,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:32:27,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:32:27,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 61 states have internal predecessors, (64), 23 states have call successors, (23), 14 states have call predecessors, (23), 13 states have return successors, (21), 18 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:32:27,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 108 transitions. [2022-04-08 04:32:27,198 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 108 transitions. Word has length 75 [2022-04-08 04:32:27,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:32:27,198 INFO L478 AbstractCegarLoop]: Abstraction has 94 states and 108 transitions. [2022-04-08 04:32:27,198 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.9090909090909092) internal successors, (21), 10 states have internal predecessors, (21), 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-08 04:32:27,199 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 108 transitions. [2022-04-08 04:32:27,330 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-08 04:32:27,331 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 108 transitions. [2022-04-08 04:32:27,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 04:32:27,331 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:32:27,331 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:32:27,348 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-08 04:32:27,547 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:27,548 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:32:27,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:32:27,548 INFO L85 PathProgramCache]: Analyzing trace with hash -576191946, now seen corresponding path program 1 times [2022-04-08 04:32:27,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:27,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1621997598] [2022-04-08 04:32:30,421 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:32:30,422 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:32:30,422 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:32:30,422 INFO L85 PathProgramCache]: Analyzing trace with hash -576191946, now seen corresponding path program 2 times [2022-04-08 04:32:30,422 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:32:30,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [650770603] [2022-04-08 04:32:30,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:32:30,422 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:32:30,429 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:32:30,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [229579563] [2022-04-08 04:32:30,430 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:32:30,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:30,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:32:30,431 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-08 04:32:30,431 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-08 04:32:30,474 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:32:30,474 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:32:30,475 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 04:32:30,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:32:30,487 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:32,560 INFO L272 TraceCheckUtils]: 0: Hoare triple {5730#true} call ULTIMATE.init(); {5730#true} is VALID [2022-04-08 04:32:32,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {5730#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(8, 2);call #Ultimate.allocInit(12, 3); {5730#true} is VALID [2022-04-08 04:32:32,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5730#true} {5730#true} #90#return; {5730#true} is VALID [2022-04-08 04:32:32,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {5730#true} call #t~ret5 := main(); {5730#true} is VALID [2022-04-08 04:32:32,561 INFO L290 TraceCheckUtils]: 5: Hoare triple {5730#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5750#(<= 1 main_~d~0)} is VALID [2022-04-08 04:32:32,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {5750#(<= 1 main_~d~0)} assume !false; {5750#(<= 1 main_~d~0)} is VALID [2022-04-08 04:32:32,561 INFO L272 TraceCheckUtils]: 7: Hoare triple {5750#(<= 1 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,562 INFO L290 TraceCheckUtils]: 10: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,562 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5730#true} {5750#(<= 1 main_~d~0)} #76#return; {5750#(<= 1 main_~d~0)} is VALID [2022-04-08 04:32:32,562 INFO L272 TraceCheckUtils]: 12: Hoare triple {5750#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,563 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5730#true} {5750#(<= 1 main_~d~0)} #78#return; {5750#(<= 1 main_~d~0)} is VALID [2022-04-08 04:32:32,563 INFO L272 TraceCheckUtils]: 17: Hoare triple {5750#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,563 INFO L290 TraceCheckUtils]: 18: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,570 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5730#true} {5750#(<= 1 main_~d~0)} #80#return; {5750#(<= 1 main_~d~0)} is VALID [2022-04-08 04:32:32,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {5750#(<= 1 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5802#(<= 1 (div main_~d~0 2))} is VALID [2022-04-08 04:32:32,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {5802#(<= 1 (div main_~d~0 2))} assume !false; {5802#(<= 1 (div main_~d~0 2))} is VALID [2022-04-08 04:32:32,571 INFO L272 TraceCheckUtils]: 24: Hoare triple {5802#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5730#true} {5802#(<= 1 (div main_~d~0 2))} #76#return; {5802#(<= 1 (div main_~d~0 2))} is VALID [2022-04-08 04:32:32,572 INFO L272 TraceCheckUtils]: 29: Hoare triple {5802#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 30: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,572 INFO L290 TraceCheckUtils]: 32: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,573 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5730#true} {5802#(<= 1 (div main_~d~0 2))} #78#return; {5802#(<= 1 (div main_~d~0 2))} is VALID [2022-04-08 04:32:32,573 INFO L272 TraceCheckUtils]: 34: Hoare triple {5802#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,573 INFO L290 TraceCheckUtils]: 36: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,573 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5730#true} {5802#(<= 1 (div main_~d~0 2))} #80#return; {5802#(<= 1 (div main_~d~0 2))} is VALID [2022-04-08 04:32:32,574 INFO L290 TraceCheckUtils]: 39: Hoare triple {5802#(<= 1 (div main_~d~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !false; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,575 INFO L272 TraceCheckUtils]: 41: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,575 INFO L290 TraceCheckUtils]: 42: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,575 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5730#true} {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #76#return; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,576 INFO L272 TraceCheckUtils]: 46: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L290 TraceCheckUtils]: 47: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L290 TraceCheckUtils]: 48: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L290 TraceCheckUtils]: 49: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5730#true} {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #78#return; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,576 INFO L272 TraceCheckUtils]: 51: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L290 TraceCheckUtils]: 52: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,576 INFO L290 TraceCheckUtils]: 53: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,577 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5730#true} {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #80#return; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !(~r~0 >= ~d~0); {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,578 INFO L290 TraceCheckUtils]: 57: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !false; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,578 INFO L272 TraceCheckUtils]: 58: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,578 INFO L290 TraceCheckUtils]: 59: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,578 INFO L290 TraceCheckUtils]: 60: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,579 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5730#true} {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #82#return; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,579 INFO L272 TraceCheckUtils]: 63: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-08 04:32:32,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-08 04:32:32,579 INFO L290 TraceCheckUtils]: 65: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-08 04:32:32,579 INFO L290 TraceCheckUtils]: 66: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-08 04:32:32,579 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5730#true} {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #84#return; {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-08 04:32:32,580 INFO L290 TraceCheckUtils]: 68: Hoare triple {5854#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5942#(and (< 0 (div main_~r~0 2)) (< main_~d~0 (+ main_~r~0 1)))} is VALID [2022-04-08 04:32:32,586 INFO L290 TraceCheckUtils]: 69: Hoare triple {5942#(and (< 0 (div main_~r~0 2)) (< main_~d~0 (+ main_~r~0 1)))} assume !(~r~0 >= ~d~0); {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 70: Hoare triple {5731#false} assume !false; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L272 TraceCheckUtils]: 71: Hoare triple {5731#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 72: Hoare triple {5731#false} ~cond := #in~cond; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 73: Hoare triple {5731#false} assume !(0 == ~cond); {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 74: Hoare triple {5731#false} assume true; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5731#false} {5731#false} #82#return; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L272 TraceCheckUtils]: 76: Hoare triple {5731#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 77: Hoare triple {5731#false} ~cond := #in~cond; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 78: Hoare triple {5731#false} assume 0 == ~cond; {5731#false} is VALID [2022-04-08 04:32:32,587 INFO L290 TraceCheckUtils]: 79: Hoare triple {5731#false} assume !false; {5731#false} is VALID [2022-04-08 04:32:32,588 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-08 04:32:32,588 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:32:32,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:32:32,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [650770603] [2022-04-08 04:32:32,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:32:32,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [229579563] [2022-04-08 04:32:32,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [229579563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:32,588 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:32,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:32:32,588 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:32:32,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1621997598] [2022-04-08 04:32:32,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1621997598] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:32,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:32,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:32:32,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93891378] [2022-04-08 04:32:32,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:32:32,589 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 04:32:32,589 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:32:32,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:32:32,627 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-08 04:32:32,627 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:32:32,627 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:32,628 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:32:32,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:32:32,628 INFO L87 Difference]: Start difference. First operand 94 states and 108 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:32:33,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:33,127 INFO L93 Difference]: Finished difference Result 122 states and 147 transitions. [2022-04-08 04:32:33,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:32:33,127 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 04:32:33,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:32:33,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:32:33,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-04-08 04:32:33,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:32:33,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-04-08 04:32:33,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 95 transitions. [2022-04-08 04:32:33,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:33,224 INFO L225 Difference]: With dead ends: 122 [2022-04-08 04:32:33,224 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 04:32:33,225 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-04-08 04:32:33,225 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 8 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:32:33,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 114 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:32:33,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 04:32:33,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 82. [2022-04-08 04:32:33,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:32:33,282 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:33,282 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:33,282 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:33,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:33,284 INFO L93 Difference]: Finished difference Result 92 states and 107 transitions. [2022-04-08 04:32:33,284 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-08 04:32:33,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:33,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:33,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 92 states. [2022-04-08 04:32:33,285 INFO L87 Difference]: Start difference. First operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 92 states. [2022-04-08 04:32:33,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:33,286 INFO L93 Difference]: Finished difference Result 92 states and 107 transitions. [2022-04-08 04:32:33,286 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-08 04:32:33,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:33,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:33,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:32:33,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:32:33,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:33,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2022-04-08 04:32:33,288 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 80 [2022-04-08 04:32:33,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:32:33,288 INFO L478 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2022-04-08 04:32:33,289 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:32:33,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 90 transitions. [2022-04-08 04:32:33,397 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-08 04:32:33,398 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-08 04:32:33,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 04:32:33,398 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:32:33,398 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 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] [2022-04-08 04:32:33,416 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 04:32:33,611 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 04:32:33,611 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:32:33,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:32:33,612 INFO L85 PathProgramCache]: Analyzing trace with hash -182652584, now seen corresponding path program 3 times [2022-04-08 04:32:33,612 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:33,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1709766715] [2022-04-08 04:32:37,692 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:32:37,693 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:32:37,693 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:32:37,693 INFO L85 PathProgramCache]: Analyzing trace with hash -182652584, now seen corresponding path program 4 times [2022-04-08 04:32:37,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:32:37,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1136198102] [2022-04-08 04:32:37,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:32:37,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:32:37,715 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:32:37,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1057107202] [2022-04-08 04:32:37,715 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:32:37,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:37,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:32:37,722 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-08 04:32:37,722 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-08 04:32:37,759 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:32:37,759 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:32:37,760 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 04:32:37,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:32:37,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:38,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {6569#true} call ULTIMATE.init(); {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {6569#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(8, 2);call #Ultimate.allocInit(12, 3); {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6569#true} {6569#true} #90#return; {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {6569#true} call #t~ret5 := main(); {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {6569#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {6569#true} assume !false; {6569#true} is VALID [2022-04-08 04:32:38,803 INFO L272 TraceCheckUtils]: 7: Hoare triple {6569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L290 TraceCheckUtils]: 10: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6569#true} {6569#true} #76#return; {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L272 TraceCheckUtils]: 12: Hoare triple {6569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6569#true} {6569#true} #78#return; {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L272 TraceCheckUtils]: 17: Hoare triple {6569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,820 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6569#true} {6569#true} #80#return; {6569#true} is VALID [2022-04-08 04:32:38,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {6569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {6640#(= (mod main_~p~0 2) 0)} assume !false; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,822 INFO L272 TraceCheckUtils]: 24: Hoare triple {6640#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,825 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6569#true} {6640#(= (mod main_~p~0 2) 0)} #76#return; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,825 INFO L272 TraceCheckUtils]: 29: Hoare triple {6640#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,825 INFO L290 TraceCheckUtils]: 30: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,825 INFO L290 TraceCheckUtils]: 31: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,825 INFO L290 TraceCheckUtils]: 32: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,826 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6569#true} {6640#(= (mod main_~p~0 2) 0)} #78#return; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,826 INFO L272 TraceCheckUtils]: 34: Hoare triple {6640#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,826 INFO L290 TraceCheckUtils]: 35: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,826 INFO L290 TraceCheckUtils]: 36: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,826 INFO L290 TraceCheckUtils]: 37: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,826 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6569#true} {6640#(= (mod main_~p~0 2) 0)} #80#return; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,828 INFO L290 TraceCheckUtils]: 39: Hoare triple {6640#(= (mod main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,828 INFO L290 TraceCheckUtils]: 40: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !false; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,828 INFO L272 TraceCheckUtils]: 41: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,828 INFO L290 TraceCheckUtils]: 42: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,828 INFO L290 TraceCheckUtils]: 43: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,828 INFO L290 TraceCheckUtils]: 44: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,829 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6569#true} {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #76#return; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,829 INFO L272 TraceCheckUtils]: 46: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,829 INFO L290 TraceCheckUtils]: 47: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,829 INFO L290 TraceCheckUtils]: 48: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,829 INFO L290 TraceCheckUtils]: 49: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,831 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6569#true} {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #78#return; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,831 INFO L272 TraceCheckUtils]: 51: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,831 INFO L290 TraceCheckUtils]: 52: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,831 INFO L290 TraceCheckUtils]: 53: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,831 INFO L290 TraceCheckUtils]: 54: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,831 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6569#true} {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #80#return; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,832 INFO L290 TraceCheckUtils]: 56: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,832 INFO L290 TraceCheckUtils]: 57: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !false; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,832 INFO L272 TraceCheckUtils]: 58: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,832 INFO L290 TraceCheckUtils]: 59: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,833 INFO L290 TraceCheckUtils]: 60: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,833 INFO L290 TraceCheckUtils]: 61: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,833 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6569#true} {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #82#return; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,833 INFO L272 TraceCheckUtils]: 63: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,833 INFO L290 TraceCheckUtils]: 64: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,834 INFO L290 TraceCheckUtils]: 65: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,834 INFO L290 TraceCheckUtils]: 66: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,834 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6569#true} {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #84#return; {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:32:38,836 INFO L290 TraceCheckUtils]: 68: Hoare triple {6692#(and (= (mod (div (- main_~p~0) (- 2)) 2) 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); {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,836 INFO L290 TraceCheckUtils]: 69: Hoare triple {6640#(= (mod main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,836 INFO L290 TraceCheckUtils]: 70: Hoare triple {6640#(= (mod main_~p~0 2) 0)} assume !false; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,836 INFO L272 TraceCheckUtils]: 71: Hoare triple {6640#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,836 INFO L290 TraceCheckUtils]: 72: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,836 INFO L290 TraceCheckUtils]: 73: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,837 INFO L290 TraceCheckUtils]: 74: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,837 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6569#true} {6640#(= (mod main_~p~0 2) 0)} #82#return; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,837 INFO L272 TraceCheckUtils]: 76: Hoare triple {6640#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:38,837 INFO L290 TraceCheckUtils]: 77: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:38,837 INFO L290 TraceCheckUtils]: 78: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:38,837 INFO L290 TraceCheckUtils]: 79: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:38,838 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6569#true} {6640#(= (mod main_~p~0 2) 0)} #84#return; {6640#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:32:38,838 INFO L290 TraceCheckUtils]: 81: Hoare triple {6640#(= (mod main_~p~0 2) 0)} assume !(1 != ~p~0); {6570#false} is VALID [2022-04-08 04:32:38,838 INFO L272 TraceCheckUtils]: 82: Hoare triple {6570#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6570#false} is VALID [2022-04-08 04:32:38,839 INFO L290 TraceCheckUtils]: 83: Hoare triple {6570#false} ~cond := #in~cond; {6570#false} is VALID [2022-04-08 04:32:38,839 INFO L290 TraceCheckUtils]: 84: Hoare triple {6570#false} assume 0 == ~cond; {6570#false} is VALID [2022-04-08 04:32:38,839 INFO L290 TraceCheckUtils]: 85: Hoare triple {6570#false} assume !false; {6570#false} is VALID [2022-04-08 04:32:38,843 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 41 proven. 4 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 04:32:38,843 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:32:39,076 INFO L290 TraceCheckUtils]: 85: Hoare triple {6570#false} assume !false; {6570#false} is VALID [2022-04-08 04:32:39,076 INFO L290 TraceCheckUtils]: 84: Hoare triple {6570#false} assume 0 == ~cond; {6570#false} is VALID [2022-04-08 04:32:39,076 INFO L290 TraceCheckUtils]: 83: Hoare triple {6570#false} ~cond := #in~cond; {6570#false} is VALID [2022-04-08 04:32:39,076 INFO L272 TraceCheckUtils]: 82: Hoare triple {6570#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6570#false} is VALID [2022-04-08 04:32:39,076 INFO L290 TraceCheckUtils]: 81: Hoare triple {6843#(not (= main_~p~0 1))} assume !(1 != ~p~0); {6570#false} is VALID [2022-04-08 04:32:39,077 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6569#true} {6843#(not (= main_~p~0 1))} #84#return; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,077 INFO L290 TraceCheckUtils]: 79: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,077 INFO L290 TraceCheckUtils]: 78: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,077 INFO L290 TraceCheckUtils]: 77: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,077 INFO L272 TraceCheckUtils]: 76: Hoare triple {6843#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,078 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6569#true} {6843#(not (= main_~p~0 1))} #82#return; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,078 INFO L290 TraceCheckUtils]: 74: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,078 INFO L290 TraceCheckUtils]: 73: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,078 INFO L290 TraceCheckUtils]: 72: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,078 INFO L272 TraceCheckUtils]: 71: Hoare triple {6843#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,078 INFO L290 TraceCheckUtils]: 70: Hoare triple {6843#(not (= main_~p~0 1))} assume !false; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,079 INFO L290 TraceCheckUtils]: 69: Hoare triple {6843#(not (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,080 INFO L290 TraceCheckUtils]: 68: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,080 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6569#true} {6883#(not (= (div main_~p~0 2) 1))} #84#return; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,080 INFO L290 TraceCheckUtils]: 66: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,080 INFO L290 TraceCheckUtils]: 65: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,080 INFO L290 TraceCheckUtils]: 64: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,080 INFO L272 TraceCheckUtils]: 63: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,081 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6569#true} {6883#(not (= (div main_~p~0 2) 1))} #82#return; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,081 INFO L290 TraceCheckUtils]: 61: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,081 INFO L290 TraceCheckUtils]: 60: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,081 INFO L290 TraceCheckUtils]: 59: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,081 INFO L272 TraceCheckUtils]: 58: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,082 INFO L290 TraceCheckUtils]: 57: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} assume !false; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,082 INFO L290 TraceCheckUtils]: 56: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} assume !(~r~0 >= ~d~0); {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,082 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6569#true} {6883#(not (= (div main_~p~0 2) 1))} #80#return; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 54: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 52: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L272 TraceCheckUtils]: 51: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6569#true} {6883#(not (= (div main_~p~0 2) 1))} #78#return; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 49: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 48: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,083 INFO L290 TraceCheckUtils]: 47: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L272 TraceCheckUtils]: 46: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6569#true} {6883#(not (= (div main_~p~0 2) 1))} #76#return; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L290 TraceCheckUtils]: 42: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L272 TraceCheckUtils]: 41: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,084 INFO L290 TraceCheckUtils]: 40: Hoare triple {6883#(not (= (div main_~p~0 2) 1))} assume !false; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,085 INFO L290 TraceCheckUtils]: 39: Hoare triple {6843#(not (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6883#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 04:32:39,086 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6569#true} {6843#(not (= main_~p~0 1))} #80#return; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,086 INFO L290 TraceCheckUtils]: 37: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,086 INFO L290 TraceCheckUtils]: 36: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,086 INFO L290 TraceCheckUtils]: 35: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,086 INFO L272 TraceCheckUtils]: 34: Hoare triple {6843#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6569#true} {6843#(not (= main_~p~0 1))} #78#return; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 32: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L272 TraceCheckUtils]: 29: Hoare triple {6843#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6569#true} {6843#(not (= main_~p~0 1))} #76#return; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,088 INFO L272 TraceCheckUtils]: 24: Hoare triple {6843#(not (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {6843#(not (= main_~p~0 1))} assume !false; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {6569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6843#(not (= main_~p~0 1))} is VALID [2022-04-08 04:32:39,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6569#true} {6569#true} #80#return; {6569#true} is VALID [2022-04-08 04:32:39,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L272 TraceCheckUtils]: 17: Hoare triple {6569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6569#true} {6569#true} #78#return; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 15: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L272 TraceCheckUtils]: 12: Hoare triple {6569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6569#true} {6569#true} #76#return; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 10: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {6569#true} assume !(0 == ~cond); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {6569#true} ~cond := #in~cond; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L272 TraceCheckUtils]: 7: Hoare triple {6569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 6: Hoare triple {6569#true} assume !false; {6569#true} is VALID [2022-04-08 04:32:39,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {6569#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {6569#true} call #t~ret5 := main(); {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6569#true} {6569#true} #90#return; {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {6569#true} assume true; {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {6569#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(8, 2);call #Ultimate.allocInit(12, 3); {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {6569#true} call ULTIMATE.init(); {6569#true} is VALID [2022-04-08 04:32:39,090 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 36 proven. 9 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 04:32:39,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:32:39,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1136198102] [2022-04-08 04:32:39,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:32:39,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1057107202] [2022-04-08 04:32:39,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1057107202] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:32:39,091 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:32:39,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2022-04-08 04:32:39,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:32:39,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1709766715] [2022-04-08 04:32:39,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1709766715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:39,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:39,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 04:32:39,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [540885056] [2022-04-08 04:32:39,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:32:39,092 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 86 [2022-04-08 04:32:39,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:32:39,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:32:39,137 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-08 04:32:39,137 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 04:32:39,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:39,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 04:32:39,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:32:39,138 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:32:39,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:39,347 INFO L93 Difference]: Finished difference Result 91 states and 100 transitions. [2022-04-08 04:32:39,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 04:32:39,347 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 86 [2022-04-08 04:32:39,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:32:39,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:32:39,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2022-04-08 04:32:39,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:32:39,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2022-04-08 04:32:39,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 70 transitions. [2022-04-08 04:32:39,410 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-08 04:32:39,411 INFO L225 Difference]: With dead ends: 91 [2022-04-08 04:32:39,411 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 04:32:39,412 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:32:39,412 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 1 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:32:39,412 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 105 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:32:39,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 04:32:39,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2022-04-08 04:32:39,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:32:39,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:39,465 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:39,465 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:39,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:39,467 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-08 04:32:39,467 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-08 04:32:39,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:39,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:39,467 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 83 states. [2022-04-08 04:32:39,467 INFO L87 Difference]: Start difference. First operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 83 states. [2022-04-08 04:32:39,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:39,469 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-08 04:32:39,469 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-08 04:32:39,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:39,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:39,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:32:39,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:32:39,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 52 states have internal predecessors, (55), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:32:39,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 91 transitions. [2022-04-08 04:32:39,471 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 91 transitions. Word has length 86 [2022-04-08 04:32:39,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:32:39,471 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 91 transitions. [2022-04-08 04:32:39,471 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:32:39,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 91 transitions. [2022-04-08 04:32:39,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:39,591 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-08 04:32:39,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-08 04:32:39,591 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:32:39,591 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:32:39,615 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-08 04:32:39,791 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:39,792 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:32:39,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:32:39,792 INFO L85 PathProgramCache]: Analyzing trace with hash 1256657556, now seen corresponding path program 7 times [2022-04-08 04:32:39,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:39,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1857752926] [2022-04-08 04:32:42,556 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:32:42,556 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:32:42,556 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:32:42,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1256657556, now seen corresponding path program 8 times [2022-04-08 04:32:42,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:32:42,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699523046] [2022-04-08 04:32:42,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:32:42,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:32:42,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:32:42,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1289079691] [2022-04-08 04:32:42,572 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:32:42,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:42,572 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:32:42,573 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-08 04:32:42,574 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-08 04:32:42,617 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:32:42,617 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:32:42,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 04:32:42,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:32:42,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:43,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {7604#true} call ULTIMATE.init(); {7604#true} is VALID [2022-04-08 04:32:43,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {7604#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(8, 2);call #Ultimate.allocInit(12, 3); {7604#true} is VALID [2022-04-08 04:32:43,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7604#true} {7604#true} #90#return; {7604#true} is VALID [2022-04-08 04:32:43,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {7604#true} call #t~ret5 := main(); {7604#true} is VALID [2022-04-08 04:32:43,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {7604#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:43,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:43,276 INFO L272 TraceCheckUtils]: 7: Hoare triple {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,277 INFO L290 TraceCheckUtils]: 10: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,277 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7604#true} {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #76#return; {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:43,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,278 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7604#true} {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:43,278 INFO L272 TraceCheckUtils]: 17: Hoare triple {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,279 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7604#true} {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:43,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {7624#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,280 INFO L272 TraceCheckUtils]: 24: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,280 INFO L290 TraceCheckUtils]: 25: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,280 INFO L290 TraceCheckUtils]: 26: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,281 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7604#true} {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #76#return; {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,281 INFO L272 TraceCheckUtils]: 29: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,281 INFO L290 TraceCheckUtils]: 32: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,282 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7604#true} {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,282 INFO L272 TraceCheckUtils]: 34: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,283 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7604#true} {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,284 INFO L272 TraceCheckUtils]: 41: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,284 INFO L290 TraceCheckUtils]: 42: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,284 INFO L290 TraceCheckUtils]: 44: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,285 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7604#true} {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #76#return; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,285 INFO L272 TraceCheckUtils]: 46: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,285 INFO L290 TraceCheckUtils]: 48: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,285 INFO L290 TraceCheckUtils]: 49: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,285 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7604#true} {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #78#return; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,285 INFO L272 TraceCheckUtils]: 51: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,286 INFO L290 TraceCheckUtils]: 52: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,286 INFO L290 TraceCheckUtils]: 53: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,286 INFO L290 TraceCheckUtils]: 54: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,286 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7604#true} {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,287 INFO L290 TraceCheckUtils]: 56: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,287 INFO L290 TraceCheckUtils]: 57: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,287 INFO L272 TraceCheckUtils]: 58: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,287 INFO L290 TraceCheckUtils]: 59: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,287 INFO L290 TraceCheckUtils]: 60: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,287 INFO L290 TraceCheckUtils]: 61: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,288 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7604#true} {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,288 INFO L272 TraceCheckUtils]: 63: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,288 INFO L290 TraceCheckUtils]: 64: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,288 INFO L290 TraceCheckUtils]: 65: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,288 INFO L290 TraceCheckUtils]: 66: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,289 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7604#true} {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:43,290 INFO L290 TraceCheckUtils]: 68: Hoare triple {7728#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= 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); {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,290 INFO L290 TraceCheckUtils]: 69: Hoare triple {7676#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:32:43,290 INFO L290 TraceCheckUtils]: 70: Hoare triple {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:32:43,291 INFO L272 TraceCheckUtils]: 71: Hoare triple {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,291 INFO L290 TraceCheckUtils]: 72: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,291 INFO L290 TraceCheckUtils]: 73: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,291 INFO L290 TraceCheckUtils]: 74: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,291 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7604#true} {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #82#return; {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:32:43,291 INFO L272 TraceCheckUtils]: 76: Hoare triple {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:32:43,292 INFO L290 TraceCheckUtils]: 77: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:32:43,292 INFO L290 TraceCheckUtils]: 78: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:32:43,292 INFO L290 TraceCheckUtils]: 79: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:32:43,292 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7604#true} {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:32:43,293 INFO L290 TraceCheckUtils]: 81: Hoare triple {7819#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~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); {7856#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,294 INFO L290 TraceCheckUtils]: 82: Hoare triple {7856#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7860#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,295 INFO L290 TraceCheckUtils]: 83: Hoare triple {7860#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !false; {7860#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-08 04:32:43,295 INFO L272 TraceCheckUtils]: 84: Hoare triple {7860#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:43,296 INFO L290 TraceCheckUtils]: 85: Hoare triple {7867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:43,296 INFO L290 TraceCheckUtils]: 86: Hoare triple {7871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7605#false} is VALID [2022-04-08 04:32:43,296 INFO L290 TraceCheckUtils]: 87: Hoare triple {7605#false} assume !false; {7605#false} is VALID [2022-04-08 04:32:43,297 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 04:32:43,297 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:15,203 INFO L290 TraceCheckUtils]: 87: Hoare triple {7605#false} assume !false; {7605#false} is VALID [2022-04-08 04:33:15,204 INFO L290 TraceCheckUtils]: 86: Hoare triple {7871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7605#false} is VALID [2022-04-08 04:33:15,204 INFO L290 TraceCheckUtils]: 85: Hoare triple {7867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:15,205 INFO L272 TraceCheckUtils]: 84: Hoare triple {7887#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:15,205 INFO L290 TraceCheckUtils]: 83: Hoare triple {7887#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {7887#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:33:15,217 INFO L290 TraceCheckUtils]: 82: Hoare triple {7894#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7887#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:33:15,237 INFO L290 TraceCheckUtils]: 81: Hoare triple {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7894#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 04:33:15,238 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7604#true} {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:33:15,238 INFO L290 TraceCheckUtils]: 79: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,238 INFO L290 TraceCheckUtils]: 78: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,238 INFO L290 TraceCheckUtils]: 77: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,238 INFO L272 TraceCheckUtils]: 76: Hoare triple {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,238 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7604#true} {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:33:15,238 INFO L290 TraceCheckUtils]: 74: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,239 INFO L290 TraceCheckUtils]: 73: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,239 INFO L290 TraceCheckUtils]: 72: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,239 INFO L272 TraceCheckUtils]: 71: Hoare triple {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,240 INFO L290 TraceCheckUtils]: 70: Hoare triple {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:33:15,256 INFO L290 TraceCheckUtils]: 69: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7898#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-08 04:33:15,588 INFO L290 TraceCheckUtils]: 68: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,589 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7604#true} {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,589 INFO L290 TraceCheckUtils]: 66: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,589 INFO L290 TraceCheckUtils]: 65: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,589 INFO L290 TraceCheckUtils]: 64: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,589 INFO L272 TraceCheckUtils]: 63: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,590 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7604#true} {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,590 INFO L290 TraceCheckUtils]: 61: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,590 INFO L290 TraceCheckUtils]: 60: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,590 INFO L290 TraceCheckUtils]: 59: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,591 INFO L272 TraceCheckUtils]: 58: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,595 INFO L290 TraceCheckUtils]: 57: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,599 INFO L290 TraceCheckUtils]: 56: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,600 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7604#true} {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,600 INFO L290 TraceCheckUtils]: 54: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,600 INFO L290 TraceCheckUtils]: 52: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,600 INFO L272 TraceCheckUtils]: 51: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,601 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7604#true} {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #78#return; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,601 INFO L290 TraceCheckUtils]: 48: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,602 INFO L272 TraceCheckUtils]: 46: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,602 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7604#true} {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #76#return; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,603 INFO L272 TraceCheckUtils]: 41: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,766 INFO L290 TraceCheckUtils]: 39: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7939#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (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))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (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))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 04:33:15,766 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7604#true} {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,767 INFO L272 TraceCheckUtils]: 34: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,767 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7604#true} {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #78#return; {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,768 INFO L272 TraceCheckUtils]: 29: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,768 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7604#true} {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #76#return; {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,769 INFO L272 TraceCheckUtils]: 24: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,770 INFO L290 TraceCheckUtils]: 23: Hoare triple {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7935#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:33:15,797 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7604#true} {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 04:33:15,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,797 INFO L272 TraceCheckUtils]: 17: Hoare triple {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,798 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7604#true} {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #78#return; {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 04:33:15,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,798 INFO L272 TraceCheckUtils]: 12: Hoare triple {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,798 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7604#true} {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #76#return; {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 04:33:15,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {7604#true} assume !(0 == ~cond); {7604#true} is VALID [2022-04-08 04:33:15,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {7604#true} ~cond := #in~cond; {7604#true} is VALID [2022-04-08 04:33:15,799 INFO L272 TraceCheckUtils]: 7: Hoare triple {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7604#true} is VALID [2022-04-08 04:33:15,799 INFO L290 TraceCheckUtils]: 6: Hoare triple {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !false; {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 04:33:15,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {7604#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8078#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 04:33:15,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {7604#true} call #t~ret5 := main(); {7604#true} is VALID [2022-04-08 04:33:15,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7604#true} {7604#true} #90#return; {7604#true} is VALID [2022-04-08 04:33:15,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {7604#true} assume true; {7604#true} is VALID [2022-04-08 04:33:15,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {7604#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(8, 2);call #Ultimate.allocInit(12, 3); {7604#true} is VALID [2022-04-08 04:33:15,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {7604#true} call ULTIMATE.init(); {7604#true} is VALID [2022-04-08 04:33:15,801 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 04:33:15,801 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:33:15,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1699523046] [2022-04-08 04:33:15,801 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:33:15,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1289079691] [2022-04-08 04:33:15,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1289079691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:33:15,801 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:33:15,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 04:33:15,802 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:33:15,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1857752926] [2022-04-08 04:33:15,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1857752926] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:33:15,802 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:33:15,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:33:15,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [487351763] [2022-04-08 04:33:15,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:33:15,802 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-08 04:33:15,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:33:15,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:33:15,847 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:15,848 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:33:15,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:15,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:33:15,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-08 04:33:15,848 INFO L87 Difference]: Start difference. First operand 83 states and 91 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:33:16,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:16,974 INFO L93 Difference]: Finished difference Result 152 states and 176 transitions. [2022-04-08 04:33:16,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:33:16,974 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-08 04:33:16,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:33:16,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:33:16,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 115 transitions. [2022-04-08 04:33:16,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:33:16,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 115 transitions. [2022-04-08 04:33:16,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 115 transitions. [2022-04-08 04:33:17,141 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-08 04:33:17,143 INFO L225 Difference]: With dead ends: 152 [2022-04-08 04:33:17,143 INFO L226 Difference]: Without dead ends: 133 [2022-04-08 04:33:17,143 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 158 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=64, Invalid=207, Unknown=1, NotChecked=0, Total=272 [2022-04-08 04:33:17,144 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 11 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 433 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 433 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:33:17,144 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 433 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:33:17,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-08 04:33:17,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 131. [2022-04-08 04:33:17,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:33:17,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:33:17,249 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:33:17,249 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:33:17,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:17,251 INFO L93 Difference]: Finished difference Result 133 states and 147 transitions. [2022-04-08 04:33:17,251 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 147 transitions. [2022-04-08 04:33:17,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:17,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:17,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 133 states. [2022-04-08 04:33:17,252 INFO L87 Difference]: Start difference. First operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 133 states. [2022-04-08 04:33:17,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:17,254 INFO L93 Difference]: Finished difference Result 133 states and 147 transitions. [2022-04-08 04:33:17,254 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 147 transitions. [2022-04-08 04:33:17,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:17,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:17,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:33:17,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:33:17,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 83 states have (on average 1.0843373493975903) internal successors, (90), 84 states have internal predecessors, (90), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:33:17,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 144 transitions. [2022-04-08 04:33:17,257 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 144 transitions. Word has length 88 [2022-04-08 04:33:17,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:33:17,257 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 144 transitions. [2022-04-08 04:33:17,257 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:33:17,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 144 transitions. [2022-04-08 04:33:17,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:17,487 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-08 04:33:17,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-08 04:33:17,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:33:17,488 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:33:17,515 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-08 04:33:17,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 04:33:17,691 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:33:17,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:33:17,692 INFO L85 PathProgramCache]: Analyzing trace with hash 921896973, now seen corresponding path program 9 times [2022-04-08 04:33:17,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:17,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [992650882] [2022-04-08 04:33:18,824 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:33:18,824 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:33:18,824 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:33:18,824 INFO L85 PathProgramCache]: Analyzing trace with hash 921896973, now seen corresponding path program 10 times [2022-04-08 04:33:18,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:33:18,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1680012597] [2022-04-08 04:33:18,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:33:18,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:33:18,833 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:33:18,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [207192826] [2022-04-08 04:33:18,833 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:33:18,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:33:18,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:33:18,834 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-08 04:33:18,834 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-08 04:33:18,887 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:33:18,888 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:33:18,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 04:33:18,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:33:18,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:33:21,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {8981#true} call ULTIMATE.init(); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {8981#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(8, 2);call #Ultimate.allocInit(12, 3); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8981#true} {8981#true} #90#return; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {8981#true} call #t~ret5 := main(); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 5: Hoare triple {8981#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 6: Hoare triple {8981#true} assume !false; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L272 TraceCheckUtils]: 7: Hoare triple {8981#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 8: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 10: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8981#true} {8981#true} #76#return; {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L272 TraceCheckUtils]: 12: Hoare triple {8981#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8981#true} {8981#true} #78#return; {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L272 TraceCheckUtils]: 17: Hoare triple {8981#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,825 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8981#true} {8981#true} #80#return; {8981#true} is VALID [2022-04-08 04:33:21,826 INFO L290 TraceCheckUtils]: 22: Hoare triple {8981#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9052#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:33:21,826 INFO L290 TraceCheckUtils]: 23: Hoare triple {9052#(= (mod main_~p~0 2) 0)} assume !false; {9052#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 04:33:21,826 INFO L272 TraceCheckUtils]: 24: Hoare triple {9052#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,826 INFO L290 TraceCheckUtils]: 25: Hoare triple {8981#true} ~cond := #in~cond; {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:21,827 INFO L290 TraceCheckUtils]: 26: Hoare triple {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,827 INFO L290 TraceCheckUtils]: 27: Hoare triple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,828 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} {9052#(= (mod main_~p~0 2) 0)} #76#return; {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,828 INFO L272 TraceCheckUtils]: 29: Hoare triple {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,829 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8981#true} {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #78#return; {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,830 INFO L272 TraceCheckUtils]: 34: Hoare triple {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,830 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8981#true} {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {9073#(and (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,832 INFO L290 TraceCheckUtils]: 40: Hoare triple {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,832 INFO L272 TraceCheckUtils]: 41: Hoare triple {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,832 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8981#true} {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #76#return; {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,832 INFO L272 TraceCheckUtils]: 46: Hoare triple {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,833 INFO L290 TraceCheckUtils]: 47: Hoare triple {8981#true} ~cond := #in~cond; {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:21,833 INFO L290 TraceCheckUtils]: 48: Hoare triple {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,834 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} {9107#(and (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #78#return; {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,834 INFO L272 TraceCheckUtils]: 51: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,835 INFO L290 TraceCheckUtils]: 52: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,835 INFO L290 TraceCheckUtils]: 53: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,835 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8981#true} {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,836 INFO L290 TraceCheckUtils]: 56: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,836 INFO L290 TraceCheckUtils]: 57: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,836 INFO L272 TraceCheckUtils]: 58: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,836 INFO L290 TraceCheckUtils]: 59: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,836 INFO L290 TraceCheckUtils]: 60: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,836 INFO L290 TraceCheckUtils]: 61: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,837 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8981#true} {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,837 INFO L272 TraceCheckUtils]: 63: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,837 INFO L290 TraceCheckUtils]: 64: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,837 INFO L290 TraceCheckUtils]: 65: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,837 INFO L290 TraceCheckUtils]: 66: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,838 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8981#true} {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:33:21,839 INFO L290 TraceCheckUtils]: 68: Hoare triple {9141#(and (= main_~A~0 main_~r~0) (= (mod (div main_~p~0 2) 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); {9196#(and (= main_~A~0 main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~q~0 0))} is VALID [2022-04-08 04:33:21,840 INFO L290 TraceCheckUtils]: 69: Hoare triple {9196#(and (= main_~A~0 main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:33:21,840 INFO L290 TraceCheckUtils]: 70: Hoare triple {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:33:21,840 INFO L272 TraceCheckUtils]: 71: Hoare triple {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,840 INFO L290 TraceCheckUtils]: 72: Hoare triple {8981#true} ~cond := #in~cond; {8981#true} is VALID [2022-04-08 04:33:21,840 INFO L290 TraceCheckUtils]: 73: Hoare triple {8981#true} assume !(0 == ~cond); {8981#true} is VALID [2022-04-08 04:33:21,840 INFO L290 TraceCheckUtils]: 74: Hoare triple {8981#true} assume true; {8981#true} is VALID [2022-04-08 04:33:21,841 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {8981#true} {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #82#return; {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 04:33:21,841 INFO L272 TraceCheckUtils]: 76: Hoare triple {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,841 INFO L290 TraceCheckUtils]: 77: Hoare triple {8981#true} ~cond := #in~cond; {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:21,842 INFO L290 TraceCheckUtils]: 78: Hoare triple {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,842 INFO L290 TraceCheckUtils]: 79: Hoare triple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,843 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} {9200#(and (= main_~q~0 main_~p~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {9234#(and (= main_~q~0 main_~p~0) (= main_~r~0 (+ main_~A~0 (* (- 1) (* main_~B~0 main_~p~0)))) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)))} is VALID [2022-04-08 04:33:21,844 INFO L290 TraceCheckUtils]: 81: Hoare triple {9234#(and (= main_~q~0 main_~p~0) (= main_~r~0 (+ main_~A~0 (* (- 1) (* main_~B~0 main_~p~0)))) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9238#(and (= main_~p~0 (div main_~q~0 2)) (< (div (* (- 1) main_~q~0) (- 2)) (+ (div main_~q~0 2) 1)) (= (+ main_~A~0 (* (- 1) (* main_~B~0 main_~q~0))) main_~r~0))} is VALID [2022-04-08 04:33:21,848 INFO L290 TraceCheckUtils]: 82: Hoare triple {9238#(and (= main_~p~0 (div main_~q~0 2)) (< (div (* (- 1) main_~q~0) (- 2)) (+ (div main_~q~0 2) 1)) (= (+ main_~A~0 (* (- 1) (* main_~B~0 main_~q~0))) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9242#(and (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= main_~r~0 (+ (* (- 1) main_~d~0) (* (- 1) (* main_~B~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~A~0)))} is VALID [2022-04-08 04:33:21,848 INFO L290 TraceCheckUtils]: 83: Hoare triple {9242#(and (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= main_~r~0 (+ (* (- 1) main_~d~0) (* (- 1) (* main_~B~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~A~0)))} assume !false; {9242#(and (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= main_~r~0 (+ (* (- 1) main_~d~0) (* (- 1) (* main_~B~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~A~0)))} is VALID [2022-04-08 04:33:21,848 INFO L272 TraceCheckUtils]: 84: Hoare triple {9242#(and (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= main_~r~0 (+ (* (- 1) main_~d~0) (* (- 1) (* main_~B~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8981#true} is VALID [2022-04-08 04:33:21,849 INFO L290 TraceCheckUtils]: 85: Hoare triple {8981#true} ~cond := #in~cond; {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:21,849 INFO L290 TraceCheckUtils]: 86: Hoare triple {9062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,849 INFO L290 TraceCheckUtils]: 87: Hoare triple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:21,852 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {9066#(not (= |__VERIFIER_assert_#in~cond| 0))} {9242#(and (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= main_~r~0 (+ (* (- 1) main_~d~0) (* (- 1) (* main_~B~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~A~0)))} #82#return; {9261#(exists ((aux_div_aux_mod_aux_mod_main_~q~0_41_59_77 Int) (aux_div_main_~q~0_41 Int) (aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77 Int)) (and (<= (+ (* 2 aux_div_main_~q~0_41) aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77)) (<= (+ (* main_~p~0 2) aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77)) (= (* main_~B~0 main_~p~0) main_~d~0) (<= 0 aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (< (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77) (+ (* main_~p~0 2) 2 aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77)) (< aux_div_aux_mod_aux_mod_main_~q~0_41_59_77 (+ aux_div_main_~q~0_41 1))))} is VALID [2022-04-08 04:33:21,853 INFO L272 TraceCheckUtils]: 89: Hoare triple {9261#(exists ((aux_div_aux_mod_aux_mod_main_~q~0_41_59_77 Int) (aux_div_main_~q~0_41 Int) (aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77 Int)) (and (<= (+ (* 2 aux_div_main_~q~0_41) aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77)) (<= (+ (* main_~p~0 2) aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77)) (= (* main_~B~0 main_~p~0) main_~d~0) (<= 0 aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77) (< (* 2 aux_div_aux_mod_aux_mod_main_~q~0_41_59_77) (+ (* main_~p~0 2) 2 aux_mod_aux_mod_aux_mod_main_~q~0_41_59_77)) (< aux_div_aux_mod_aux_mod_main_~q~0_41_59_77 (+ aux_div_main_~q~0_41 1))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9265#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:21,854 INFO L290 TraceCheckUtils]: 90: Hoare triple {9265#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9269#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:21,854 INFO L290 TraceCheckUtils]: 91: Hoare triple {9269#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8982#false} is VALID [2022-04-08 04:33:21,854 INFO L290 TraceCheckUtils]: 92: Hoare triple {8982#false} assume !false; {8982#false} is VALID [2022-04-08 04:33:21,855 INFO L134 CoverageAnalysis]: Checked inductivity of 418 backedges. 126 proven. 48 refuted. 0 times theorem prover too weak. 244 trivial. 0 not checked. [2022-04-08 04:33:21,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:34:01,700 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:34:13,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:34:13,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1680012597] [2022-04-08 04:34:13,409 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:34:13,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [207192826] [2022-04-08 04:34:13,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [207192826] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:34:13,409 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:34:13,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-08 04:34:13,409 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:34:13,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [992650882] [2022-04-08 04:34:13,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [992650882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:34:13,409 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:34:13,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:34:13,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2018328979] [2022-04-08 04:34:13,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:34:13,410 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 93 [2022-04-08 04:34:13,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:34:13,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 04:34:13,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:13,470 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:34:13,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:13,470 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:34:13,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=353, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:34:13,471 INFO L87 Difference]: Start difference. First operand 131 states and 144 transitions. Second operand has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 04:34:21,479 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-08 04:34:23,482 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-08 04:34:25,486 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-08 04:34:27,489 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-08 04:34:28,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:28,462 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-08 04:34:28,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:34:28,462 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 93 [2022-04-08 04:34:28,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:34:28,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 04:34:28,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 83 transitions. [2022-04-08 04:34:28,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 04:34:28,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 83 transitions. [2022-04-08 04:34:28,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 83 transitions. [2022-04-08 04:34:28,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:28,579 INFO L225 Difference]: With dead ends: 150 [2022-04-08 04:34:28,579 INFO L226 Difference]: Without dead ends: 148 [2022-04-08 04:34:28,579 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 84 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 148 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=98, Invalid=502, Unknown=0, NotChecked=0, Total=600 [2022-04-08 04:34:28,579 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 19 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 28 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 490 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 59 IncrementalHoareTripleChecker+Unchecked, 9.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:34:28,580 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 198 Invalid, 490 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 399 Invalid, 4 Unknown, 59 Unchecked, 9.2s Time] [2022-04-08 04:34:28,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-08 04:34:28,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 144. [2022-04-08 04:34:28,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:34:28,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 04:34:28,713 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 04:34:28,713 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 04:34:28,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:28,716 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 04:34:28,716 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 04:34:28,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:28,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:28,716 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 148 states. [2022-04-08 04:34:28,717 INFO L87 Difference]: Start difference. First operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 148 states. [2022-04-08 04:34:28,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:28,719 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 04:34:28,719 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 04:34:28,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:28,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:28,720 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:34:28,720 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:34:28,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 94 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 04:34:28,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 162 transitions. [2022-04-08 04:34:28,722 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 162 transitions. Word has length 93 [2022-04-08 04:34:28,723 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:34:28,723 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 162 transitions. [2022-04-08 04:34:28,723 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 1.6666666666666667) internal successors, (25), 12 states have internal predecessors, (25), 8 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 04:34:28,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 162 transitions. [2022-04-08 04:34:29,005 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-08 04:34:29,005 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 162 transitions. [2022-04-08 04:34:29,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 04:34:29,006 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:34:29,006 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:34:29,026 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 04:34:29,206 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:34:29,207 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:34:29,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:34:29,207 INFO L85 PathProgramCache]: Analyzing trace with hash 2013246961, now seen corresponding path program 5 times [2022-04-08 04:34:29,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:29,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1756663518] [2022-04-08 04:34:32,227 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:34:32,227 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:34:32,227 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:34:32,228 INFO L85 PathProgramCache]: Analyzing trace with hash 2013246961, now seen corresponding path program 6 times [2022-04-08 04:34:32,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:34:32,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2025377809] [2022-04-08 04:34:32,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:34:32,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:34:32,236 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:34:32,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1452665123] [2022-04-08 04:34:32,236 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:34:32,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:34:32,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:34:32,237 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-08 04:34:32,240 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-08 04:34:32,289 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 04:34:32,289 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:34:32,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 04:34:32,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:34:32,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:34:32,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {10211#true} call ULTIMATE.init(); {10211#true} is VALID [2022-04-08 04:34:32,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {10211#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(8, 2);call #Ultimate.allocInit(12, 3); {10211#true} is VALID [2022-04-08 04:34:32,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10211#true} {10211#true} #90#return; {10211#true} is VALID [2022-04-08 04:34:32,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {10211#true} call #t~ret5 := main(); {10211#true} is VALID [2022-04-08 04:34:32,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {10211#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,561 INFO L272 TraceCheckUtils]: 7: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,561 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #76#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,561 INFO L272 TraceCheckUtils]: 12: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #78#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,562 INFO L272 TraceCheckUtils]: 17: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L290 TraceCheckUtils]: 19: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #80#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,564 INFO L290 TraceCheckUtils]: 22: Hoare triple {10231#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,564 INFO L272 TraceCheckUtils]: 24: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,564 INFO L290 TraceCheckUtils]: 26: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,565 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #76#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,566 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #78#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,566 INFO L272 TraceCheckUtils]: 34: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,566 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #80#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,566 INFO L290 TraceCheckUtils]: 39: Hoare triple {10231#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,567 INFO L272 TraceCheckUtils]: 41: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,567 INFO L290 TraceCheckUtils]: 42: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,567 INFO L290 TraceCheckUtils]: 43: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,567 INFO L290 TraceCheckUtils]: 44: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,568 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #76#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,568 INFO L272 TraceCheckUtils]: 46: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,568 INFO L290 TraceCheckUtils]: 47: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,568 INFO L290 TraceCheckUtils]: 48: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,568 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #78#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,568 INFO L272 TraceCheckUtils]: 51: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,569 INFO L290 TraceCheckUtils]: 52: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,569 INFO L290 TraceCheckUtils]: 53: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,569 INFO L290 TraceCheckUtils]: 54: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,569 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #80#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,569 INFO L290 TraceCheckUtils]: 56: Hoare triple {10231#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,570 INFO L290 TraceCheckUtils]: 57: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,570 INFO L272 TraceCheckUtils]: 58: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,570 INFO L290 TraceCheckUtils]: 59: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,571 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #82#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,571 INFO L272 TraceCheckUtils]: 63: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,571 INFO L290 TraceCheckUtils]: 64: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,571 INFO L290 TraceCheckUtils]: 66: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,571 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #84#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 68: Hoare triple {10231#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 69: Hoare triple {10231#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 70: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,572 INFO L272 TraceCheckUtils]: 71: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 72: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 73: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,572 INFO L290 TraceCheckUtils]: 74: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,573 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #82#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,573 INFO L272 TraceCheckUtils]: 76: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,573 INFO L290 TraceCheckUtils]: 77: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:32,573 INFO L290 TraceCheckUtils]: 78: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:32,573 INFO L290 TraceCheckUtils]: 79: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:32,574 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {10211#true} {10231#(= main_~B~0 1)} #84#return; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,574 INFO L290 TraceCheckUtils]: 81: Hoare triple {10231#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,574 INFO L290 TraceCheckUtils]: 82: Hoare triple {10231#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,574 INFO L290 TraceCheckUtils]: 83: Hoare triple {10231#(= main_~B~0 1)} assume !false; {10231#(= main_~B~0 1)} is VALID [2022-04-08 04:34:32,575 INFO L272 TraceCheckUtils]: 84: Hoare triple {10231#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,575 INFO L290 TraceCheckUtils]: 85: Hoare triple {10211#true} ~cond := #in~cond; {10472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:32,576 INFO L290 TraceCheckUtils]: 86: Hoare triple {10472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:32,576 INFO L290 TraceCheckUtils]: 87: Hoare triple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:32,577 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} {10231#(= main_~B~0 1)} #82#return; {10483#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-08 04:34:32,577 INFO L272 TraceCheckUtils]: 89: Hoare triple {10483#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:32,577 INFO L290 TraceCheckUtils]: 90: Hoare triple {10211#true} ~cond := #in~cond; {10472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:32,578 INFO L290 TraceCheckUtils]: 91: Hoare triple {10472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:32,578 INFO L290 TraceCheckUtils]: 92: Hoare triple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:32,579 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} {10483#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #84#return; {10499#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} is VALID [2022-04-08 04:34:32,580 INFO L290 TraceCheckUtils]: 94: Hoare triple {10499#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} assume !(1 != ~p~0); {10503#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-08 04:34:32,580 INFO L272 TraceCheckUtils]: 95: Hoare triple {10503#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10507#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:32,580 INFO L290 TraceCheckUtils]: 96: Hoare triple {10507#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10511#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:32,581 INFO L290 TraceCheckUtils]: 97: Hoare triple {10511#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10212#false} is VALID [2022-04-08 04:34:32,581 INFO L290 TraceCheckUtils]: 98: Hoare triple {10212#false} assume !false; {10212#false} is VALID [2022-04-08 04:34:32,581 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 108 proven. 4 refuted. 0 times theorem prover too weak. 366 trivial. 0 not checked. [2022-04-08 04:34:32,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:34:52,900 INFO L290 TraceCheckUtils]: 98: Hoare triple {10212#false} assume !false; {10212#false} is VALID [2022-04-08 04:34:52,901 INFO L290 TraceCheckUtils]: 97: Hoare triple {10511#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10212#false} is VALID [2022-04-08 04:34:52,901 INFO L290 TraceCheckUtils]: 96: Hoare triple {10507#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10511#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:52,902 INFO L272 TraceCheckUtils]: 95: Hoare triple {10527#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10507#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:52,902 INFO L290 TraceCheckUtils]: 94: Hoare triple {10531#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10527#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:34:52,904 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} {10535#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {10531#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:34:52,912 INFO L290 TraceCheckUtils]: 92: Hoare triple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:52,912 INFO L290 TraceCheckUtils]: 91: Hoare triple {10545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:52,913 INFO L290 TraceCheckUtils]: 90: Hoare triple {10211#true} ~cond := #in~cond; {10545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:34:52,913 INFO L272 TraceCheckUtils]: 89: Hoare triple {10535#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,913 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} {10211#true} #82#return; {10535#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 87: Hoare triple {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 86: Hoare triple {10545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 85: Hoare triple {10211#true} ~cond := #in~cond; {10545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:34:52,914 INFO L272 TraceCheckUtils]: 84: Hoare triple {10211#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 83: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 82: Hoare triple {10211#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10211#true} is VALID [2022-04-08 04:34:52,914 INFO L290 TraceCheckUtils]: 81: Hoare triple {10211#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); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {10211#true} {10211#true} #84#return; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 79: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 78: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 77: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L272 TraceCheckUtils]: 76: Hoare triple {10211#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {10211#true} {10211#true} #82#return; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 74: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 73: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 72: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L272 TraceCheckUtils]: 71: Hoare triple {10211#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 70: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 69: Hoare triple {10211#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L290 TraceCheckUtils]: 68: Hoare triple {10211#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); {10211#true} is VALID [2022-04-08 04:34:52,915 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {10211#true} {10211#true} #84#return; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 65: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 64: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L272 TraceCheckUtils]: 63: Hoare triple {10211#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {10211#true} {10211#true} #82#return; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 61: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 60: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 59: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L272 TraceCheckUtils]: 58: Hoare triple {10211#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {10211#true} assume !(~r~0 >= ~d~0); {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {10211#true} {10211#true} #80#return; {10211#true} is VALID [2022-04-08 04:34:52,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 53: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 52: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L272 TraceCheckUtils]: 51: Hoare triple {10211#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10211#true} {10211#true} #78#return; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 47: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L272 TraceCheckUtils]: 46: Hoare triple {10211#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10211#true} {10211#true} #76#return; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 43: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 42: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L272 TraceCheckUtils]: 41: Hoare triple {10211#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {10211#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10211#true} {10211#true} #80#return; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L272 TraceCheckUtils]: 34: Hoare triple {10211#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10211#true} {10211#true} #78#return; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 32: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L272 TraceCheckUtils]: 29: Hoare triple {10211#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10211#true} {10211#true} #76#return; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 25: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L272 TraceCheckUtils]: 24: Hoare triple {10211#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 23: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 22: Hoare triple {10211#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10211#true} {10211#true} #80#return; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 19: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 18: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L272 TraceCheckUtils]: 17: Hoare triple {10211#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10211#true} {10211#true} #78#return; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 14: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,919 INFO L272 TraceCheckUtils]: 12: Hoare triple {10211#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10211#true} {10211#true} #76#return; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 10: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {10211#true} assume !(0 == ~cond); {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 8: Hoare triple {10211#true} ~cond := #in~cond; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L272 TraceCheckUtils]: 7: Hoare triple {10211#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 6: Hoare triple {10211#true} assume !false; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {10211#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {10211#true} call #t~ret5 := main(); {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10211#true} {10211#true} #90#return; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {10211#true} assume true; {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {10211#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(8, 2);call #Ultimate.allocInit(12, 3); {10211#true} is VALID [2022-04-08 04:34:52,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {10211#true} call ULTIMATE.init(); {10211#true} is VALID [2022-04-08 04:34:52,921 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 110 proven. 2 refuted. 0 times theorem prover too weak. 366 trivial. 0 not checked. [2022-04-08 04:34:52,921 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:34:52,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2025377809] [2022-04-08 04:34:52,921 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:34:52,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1452665123] [2022-04-08 04:34:52,921 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1452665123] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:34:52,921 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:34:52,921 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 04:34:52,921 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:34:52,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1756663518] [2022-04-08 04:34:52,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1756663518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:34:52,922 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:34:52,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:34:52,922 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1043680311] [2022-04-08 04:34:52,922 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:34:52,922 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 99 [2022-04-08 04:34:52,922 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:34:52,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:34:52,950 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-08 04:34:52,950 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:34:52,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:52,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:34:52,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:34:52,951 INFO L87 Difference]: Start difference. First operand 144 states and 162 transitions. Second operand has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:34:53,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:53,473 INFO L93 Difference]: Finished difference Result 144 states and 162 transitions. [2022-04-08 04:34:53,473 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:34:53,473 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 99 [2022-04-08 04:34:53,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:34:53,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:34:53,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 43 transitions. [2022-04-08 04:34:53,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:34:53,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 43 transitions. [2022-04-08 04:34:53,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 43 transitions. [2022-04-08 04:34:53,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:53,518 INFO L225 Difference]: With dead ends: 144 [2022-04-08 04:34:53,518 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 04:34:53,518 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 184 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:34:53,519 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 23 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 123 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 123 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:34:53,519 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 70 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 123 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:34:53,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 04:34:53,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 04:34:53,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:34:53,519 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 04:34:53,519 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 04:34:53,519 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 04:34:53,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:53,520 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 04:34:53,520 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 04:34:53,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:53,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:53,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 04:34:53,520 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 04:34:53,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:53,520 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 04:34:53,520 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 04:34:53,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:53,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:53,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:34:53,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:34:53,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 04:34:53,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 04:34:53,521 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 99 [2022-04-08 04:34:53,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:34:53,521 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 04:34:53,521 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:34:53,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 04:34:53,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:53,521 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 04:34:53,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:53,523 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 04:34:53,552 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-08 04:34:53,739 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 04:34:53,741 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notENTRY(lines 11 13) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-08 04:34:58,178 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L33-2(lines 33 41) the Hoare annotation is: (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (let ((.cse3 (div main_~d~0 2))) (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= .cse3 main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) .cse0 .cse1 (= (mod main_~p~0 2) 0) (<= 1 (div .cse3 2)) .cse2)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2))) [2022-04-08 04:34:58,179 INFO L885 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: true [2022-04-08 04:34:58,179 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 60) the Hoare annotation is: true [2022-04-08 04:34:58,179 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 60) the Hoare annotation is: true [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L44(line 44) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L44-1(line 44) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L36(lines 33 41) the Hoare annotation is: (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (let ((.cse3 (div main_~d~0 2))) (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= .cse3 main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) .cse0 .cse1 (= (mod main_~p~0 2) 0) (<= 1 (div .cse3 2)) .cse2)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2))) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L34(line 34) the Hoare annotation is: (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (let ((.cse3 (div main_~d~0 2))) (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= .cse3 main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) .cse0 .cse1 (= (mod main_~p~0 2) 0) (<= 1 (div .cse3 2)) .cse2)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2))) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L34-1(line 34) the Hoare annotation is: (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (let ((.cse3 (div main_~d~0 2))) (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= .cse3 main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) .cse0 .cse1 (= (mod main_~p~0 2) 0) (<= 1 (div .cse3 2)) .cse2)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2))) [2022-04-08 04:34:58,179 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 60) the Hoare annotation is: true [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L51(lines 51 54) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L51-2(lines 22 60) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,179 INFO L878 garLoopResultBuilder]: At program point L45(lines 43 55) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point L43-1(lines 43 55) the Hoare annotation is: (and (= main_~d~0 main_~p~0) (= main_~d~0 1) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (let ((.cse3 (div main_~d~0 2))) (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= .cse3 main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) .cse0 .cse1 (= (mod main_~p~0 2) 0) (<= 1 (div .cse3 2)) .cse2)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2))) [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 04:34:58,180 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 04:34:58,180 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 04:34:58,182 INFO L719 BasicCegarLoop]: Path program histogram: [10, 6, 2, 2, 2, 2, 2, 2] [2022-04-08 04:34:58,185 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 04:34:58,187 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 04:34:58,188 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-08 04:34:58,189 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 04:34:58,189 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-08 04:34:58,189 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-08 04:34:58,193 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-08 04:34:58,213 INFO L163 areAnnotationChecker]: CFG has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 04:34:58,223 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 04:34:58 BoogieIcfgContainer [2022-04-08 04:34:58,224 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 04:34:58,224 INFO L158 Benchmark]: Toolchain (without parser) took 402339.72ms. Allocated memory was 170.9MB in the beginning and 235.9MB in the end (delta: 65.0MB). Free memory was 120.0MB in the beginning and 152.6MB in the end (delta: -32.6MB). Peak memory consumption was 116.4MB. Max. memory is 8.0GB. [2022-04-08 04:34:58,225 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 170.9MB. Free memory was 136.2MB in the beginning and 136.0MB in the end (delta: 146.8kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 04:34:58,225 INFO L158 Benchmark]: CACSL2BoogieTranslator took 266.96ms. Allocated memory is still 170.9MB. Free memory was 119.9MB in the beginning and 147.3MB in the end (delta: -27.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 04:34:58,225 INFO L158 Benchmark]: Boogie Preprocessor took 37.03ms. Allocated memory is still 170.9MB. Free memory was 147.3MB in the beginning and 145.9MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 04:34:58,225 INFO L158 Benchmark]: RCFGBuilder took 281.56ms. Allocated memory is still 170.9MB. Free memory was 145.7MB in the beginning and 134.3MB in the end (delta: 11.4MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 04:34:58,225 INFO L158 Benchmark]: TraceAbstraction took 401749.41ms. Allocated memory was 170.9MB in the beginning and 235.9MB in the end (delta: 65.0MB). Free memory was 133.7MB in the beginning and 152.6MB in the end (delta: -18.9MB). Peak memory consumption was 130.7MB. Max. memory is 8.0GB. [2022-04-08 04:34:58,226 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 170.9MB. Free memory was 136.2MB in the beginning and 136.0MB in the end (delta: 146.8kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 266.96ms. Allocated memory is still 170.9MB. Free memory was 119.9MB in the beginning and 147.3MB in the end (delta: -27.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 37.03ms. Allocated memory is still 170.9MB. Free memory was 147.3MB in the beginning and 145.9MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 281.56ms. Allocated memory is still 170.9MB. Free memory was 145.7MB in the beginning and 134.3MB in the end (delta: 11.4MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 401749.41ms. Allocated memory was 170.9MB in the beginning and 235.9MB in the end (delta: 65.0MB). Free memory was 133.7MB in the beginning and 152.6MB in the end (delta: -18.9MB). Peak memory consumption was 130.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 36 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 401.7s, OverallIterations: 14, TraceHistogramMax: 16, PathProgramHistogramMax: 10, EmptinessCheckTime: 0.0s, AutomataDifference: 45.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 4.4s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 9 mSolverCounterUnknown, 271 SdHoareTripleChecker+Valid, 25.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 219 mSDsluCounter, 1578 SdHoareTripleChecker+Invalid, 25.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 135 IncrementalHoareTripleChecker+Unchecked, 1114 mSDsCounter, 215 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2331 IncrementalHoareTripleChecker+Invalid, 2690 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 215 mSolverCounterUnsat, 464 mSDtfsCounter, 2331 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1316 GetRequests, 1146 SyntacticMatches, 18 SemanticMatches, 152 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 378 ImplicationChecksByTransitivity, 46.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=13, InterpolantAutomatonStates: 111, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 14 MinimizatonAttempts, 37 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 29 LocationsWithAnnotation, 563 PreInvPairs, 795 NumberOfFragments, 582 HoareAnnotationTreeSize, 563 FomulaSimplifications, 1034 FormulaSimplificationTreeSizeReduction, 0.8s HoareSimplificationTime, 29 FomulaSimplificationsInter, 3734 FormulaSimplificationTreeSizeReductionInter, 3.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 33]: Loop Invariant Derived loop invariant: (((((q == 0 && B == 1) && B * q + r == A) && B == d) && p == 1) || (((((((B * p == d && d / 2 <= r) && -p / -2 % 2 == 0) && q == 0) && B == 1) && p % 2 == 0) && 1 <= d / 2 / 2) && B * q + r == A)) || ((((B * 2 == d && p == 2) && q == 0) && B == 1) && B * q + r == A) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 04:34:58,310 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...