/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 13:22:11,258 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 13:22:11,260 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 13:22:11,292 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 13:22:11,292 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 13:22:11,293 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 13:22:11,295 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 13:22:11,297 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 13:22:11,298 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 13:22:11,301 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 13:22:11,302 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 13:22:11,303 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 13:22:11,303 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 13:22:11,304 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 13:22:11,305 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 13:22:11,307 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 13:22:11,307 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 13:22:11,308 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 13:22:11,309 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 13:22:11,313 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 13:22:11,314 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 13:22:11,314 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 13:22:11,315 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 13:22:11,315 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 13:22:11,316 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 13:22:11,320 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 13:22:11,321 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 13:22:11,321 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 13:22:11,321 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 13:22:11,321 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 13:22:11,322 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 13:22:11,322 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 13:22:11,323 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 13:22:11,324 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 13:22:11,324 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 13:22:11,325 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 13:22:11,325 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 13:22:11,325 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 13:22:11,325 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 13:22:11,325 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 13:22:11,326 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 13:22:11,327 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 13:22:11,327 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 13:22:11,335 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 13:22:11,335 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 13:22:11,336 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 13:22:11,336 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 13:22:11,337 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 13:22:11,337 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:22:11,338 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 13:22:11,338 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 13:22:11,338 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 13:22:11,338 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 13:22:11,338 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 13:22:11,338 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 13:22:11,338 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 13:22:11,498 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 13:22:11,513 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 13:22:11,515 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 13:22:11,515 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 13:22:11,516 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 13:22:11,516 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-08 13:22:11,561 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5586773e5/393f0e1872ca4465ac1b929a34bcd6ec/FLAGaa9104cf8 [2022-04-08 13:22:11,909 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 13:22:11,910 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-08 13:22:11,913 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5586773e5/393f0e1872ca4465ac1b929a34bcd6ec/FLAGaa9104cf8 [2022-04-08 13:22:11,921 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5586773e5/393f0e1872ca4465ac1b929a34bcd6ec [2022-04-08 13:22:11,923 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 13:22:11,923 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 13:22:11,924 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 13:22:11,924 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 13:22:11,927 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 13:22:11,928 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:22:11" (1/1) ... [2022-04-08 13:22:11,928 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ca5dcf9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:11, skipping insertion in model container [2022-04-08 13:22:11,928 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:22:11" (1/1) ... [2022-04-08 13:22:11,932 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 13:22:11,942 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 13:22:12,064 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c[526,539] [2022-04-08 13:22:12,089 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:22:12,096 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 13:22:12,108 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c[526,539] [2022-04-08 13:22:12,120 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:22:12,129 INFO L208 MainTranslator]: Completed translation [2022-04-08 13:22:12,130 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12 WrapperNode [2022-04-08 13:22:12,130 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 13:22:12,131 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 13:22:12,131 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 13:22:12,131 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 13:22:12,138 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,138 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,143 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,143 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,154 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,158 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,162 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,164 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 13:22:12,165 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 13:22:12,165 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 13:22:12,165 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 13:22:12,165 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (1/1) ... [2022-04-08 13:22:12,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:22:12,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:12,186 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 13:22:12,204 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 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 13:22:12,219 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 13:22:12,220 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 13:22:12,221 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 13:22:12,221 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 13:22:12,221 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 13:22:12,221 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 13:22:12,222 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 13:22:12,222 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 13:22:12,266 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 13:22:12,267 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 13:22:12,385 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 13:22:12,389 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 13:22:12,389 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 13:22:12,390 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:22:12 BoogieIcfgContainer [2022-04-08 13:22:12,391 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 13:22:12,392 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 13:22:12,392 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 13:22:12,394 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 13:22:12,394 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 01:22:11" (1/3) ... [2022-04-08 13:22:12,394 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48a1025a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:22:12, skipping insertion in model container [2022-04-08 13:22:12,394 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:22:12" (2/3) ... [2022-04-08 13:22:12,395 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48a1025a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:22:12, skipping insertion in model container [2022-04-08 13:22:12,395 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:22:12" (3/3) ... [2022-04-08 13:22:12,395 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound2.c [2022-04-08 13:22:12,398 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 13:22:12,398 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 13:22:12,439 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 13:22:12,453 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 13:22:12,453 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 13:22:12,480 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:22:12,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 13:22:12,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:12,496 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:12,496 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:12,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:12,499 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 13:22:12,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:12,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1479100274] [2022-04-08 13:22:12,514 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:22:12,514 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 13:22:12,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:12,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [299623844] [2022-04-08 13:22:12,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:12,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:12,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:12,664 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:22:12,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:12,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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); {38#true} is VALID [2022-04-08 13:22:12,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 13:22:12,683 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 13:22:12,684 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:22:12,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:12,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 13:22:12,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 13:22:12,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 13:22:12,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 13:22:12,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 13:22:12,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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); {38#true} is VALID [2022-04-08 13:22:12,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 13:22:12,691 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 13:22:12,691 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-08 13:22:12,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#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; {38#true} is VALID [2022-04-08 13:22:12,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {38#true} is VALID [2022-04-08 13:22:12,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 13:22:12,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 13:22:12,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 13:22:12,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 13:22:12,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-08 13:22:12,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 13:22:12,693 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-08 13:22:12,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 13:22:12,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 13:22:12,694 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 13:22:12,694 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 13:22:12,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:12,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [299623844] [2022-04-08 13:22:12,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [299623844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:12,695 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:12,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:22:12,697 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:12,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1479100274] [2022-04-08 13:22:12,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1479100274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:12,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:12,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:22:12,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [314390059] [2022-04-08 13:22:12,698 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:12,701 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:22:12,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:12,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:12,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:12,733 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 13:22:12,733 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:12,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 13:22:12,750 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:22:12,753 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:12,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:12,897 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 13:22:12,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 13:22:12,897 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:22:12,898 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:12,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:12,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 13:22:12,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:12,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 13:22:12,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 13:22:13,002 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 13:22:13,008 INFO L225 Difference]: With dead ends: 61 [2022-04-08 13:22:13,008 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 13:22:13,010 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:22:13,012 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:13,013 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:22:13,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 13:22:13,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 13:22:13,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:13,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,075 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,076 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:13,079 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 13:22:13,079 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:22:13,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:13,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:13,080 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 13:22:13,080 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 13:22:13,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:13,083 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 13:22:13,083 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:22:13,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:13,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:13,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:13,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:13,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 13:22:13,088 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 13:22:13,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:13,089 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 13:22:13,089 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 13:22:13,126 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 13:22:13,126 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:22:13,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 13:22:13,127 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:13,127 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:13,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 13:22:13,128 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:13,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:13,128 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 13:22:13,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:13,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2056575868] [2022-04-08 13:22:13,131 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:22:13,131 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 13:22:13,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:13,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1460139229] [2022-04-08 13:22:13,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:13,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:13,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,218 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:22:13,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,229 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#(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); {292#true} is VALID [2022-04-08 13:22:13,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:22:13,229 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 13:22:13,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:22:13,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 13:22:13,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 13:22:13,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:22:13,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 13:22:13,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 13:22:13,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#(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); {292#true} is VALID [2022-04-08 13:22:13,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:22:13,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 13:22:13,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-08 13:22:13,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#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; {292#true} is VALID [2022-04-08 13:22:13,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {292#true} is VALID [2022-04-08 13:22:13,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 13:22:13,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 13:22:13,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:22:13,241 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 13:22:13,241 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {301#(= main_~q~0 0)} is VALID [2022-04-08 13:22:13,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 13:22:13,243 INFO L272 TraceCheckUtils]: 13: Hoare triple {301#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:13,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {302#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:22:13,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 13:22:13,244 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 13:22:13,244 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 13:22:13,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:13,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1460139229] [2022-04-08 13:22:13,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1460139229] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:13,248 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:13,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:22:13,249 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:13,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2056575868] [2022-04-08 13:22:13,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2056575868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:13,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:13,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:22:13,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [125373185] [2022-04-08 13:22:13,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:13,252 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:22:13,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:13,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:13,268 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:22:13,268 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:13,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:22:13,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 13:22:13,269 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:13,561 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 13:22:13,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:22:13,562 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:22:13,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:13,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:22:13,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:22:13,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 13:22:13,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:13,633 INFO L225 Difference]: With dead ends: 43 [2022-04-08 13:22:13,633 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 13:22:13,633 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:22:13,634 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:13,634 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:22:13,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 13:22:13,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 13:22:13,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:13,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,641 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,641 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:13,643 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 13:22:13,643 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 13:22:13,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:13,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:13,644 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 13:22:13,645 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 13:22:13,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:13,647 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 13:22:13,647 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 13:22:13,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:13,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:13,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:13,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:13,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:13,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 13:22:13,650 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 13:22:13,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:13,650 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 13:22:13,650 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:22:13,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 13:22:13,686 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 13:22:13,686 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 13:22:13,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 13:22:13,687 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:13,687 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:13,687 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 13:22:13,687 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:13,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:13,688 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 13:22:13,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:13,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [363704552] [2022-04-08 13:22:13,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:22:13,689 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 13:22:13,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:13,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [551889824] [2022-04-08 13:22:13,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:13,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:13,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,731 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:22:13,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#(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); {551#true} is VALID [2022-04-08 13:22:13,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,739 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 13:22:13,739 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:22:13,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:22:13,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:22:13,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 13:22:13,743 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 13:22:13,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:13,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:22:13,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:22:13,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 13:22:13,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} call ULTIMATE.init(); {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 13:22:13,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(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); {551#true} is VALID [2022-04-08 13:22:13,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 13:22:13,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-08 13:22:13,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#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; {551#true} is VALID [2022-04-08 13:22:13,749 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {551#true} is VALID [2022-04-08 13:22:13,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:22:13,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:22:13,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 13:22:13,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {551#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 13:22:13,751 INFO L290 TraceCheckUtils]: 12: Hoare triple {560#(= main_~A~0 main_~r~0)} assume !false; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 13:22:13,751 INFO L272 TraceCheckUtils]: 13: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {551#true} is VALID [2022-04-08 13:22:13,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:22:13,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:22:13,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:22:13,752 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 13:22:13,752 INFO L272 TraceCheckUtils]: 18: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {565#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:13,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {565#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {566#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:22:13,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 13:22:13,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 13:22:13,754 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 13:22:13,754 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:13,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [551889824] [2022-04-08 13:22:13,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [551889824] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:13,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:13,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:22:13,755 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:13,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [363704552] [2022-04-08 13:22:13,755 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [363704552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:13,755 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:13,755 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:22:13,755 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1561129936] [2022-04-08 13:22:13,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:13,756 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 13:22:13,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:13,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:22:13,770 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 13:22:13,770 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:22:13,770 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:13,770 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:22:13,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 13:22:13,771 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:22:14,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,082 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 13:22:14,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:22:14,083 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 13:22:14,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:14,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:22:14,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:22:14,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:22:14,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:22:14,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 13:22:14,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:14,130 INFO L225 Difference]: With dead ends: 47 [2022-04-08 13:22:14,130 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 13:22:14,130 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:22:14,131 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:14,132 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:22:14,132 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 13:22:14,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 13:22:14,136 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:14,136 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:14,137 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:14,137 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:14,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,139 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 13:22:14,139 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 13:22:14,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:14,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:14,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 13:22:14,140 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 13:22:14,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,141 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 13:22:14,141 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 13:22:14,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:14,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:14,142 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:14,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:14,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:22:14,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 13:22:14,143 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 13:22:14,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:14,143 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 13:22:14,143 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:22:14,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 13:22:14,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:14,175 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 13:22:14,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 13:22:14,175 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:14,175 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:14,175 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 13:22:14,175 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:14,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:14,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 13:22:14,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:14,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1878848312] [2022-04-08 13:22:14,176 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:22:14,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 13:22:14,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:14,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [335389045] [2022-04-08 13:22:14,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:14,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:14,189 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:14,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [492930952] [2022-04-08 13:22:14,189 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:14,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:14,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:14,192 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 13:22:14,199 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 13:22:14,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:14,233 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:14,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 13:22:14,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:14,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:14,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 13:22:14,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#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); {838#true} is VALID [2022-04-08 13:22:14,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:22:14,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 13:22:14,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-08 13:22:14,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#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; {838#true} is VALID [2022-04-08 13:22:14,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {838#true} is VALID [2022-04-08 13:22:14,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:22:14,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:22:14,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:22:14,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 13:22:14,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {838#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:14,404 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:14,404 INFO L272 TraceCheckUtils]: 13: Hoare triple {876#(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)); {838#true} is VALID [2022-04-08 13:22:14,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:22:14,404 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:22:14,404 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:22:14,405 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:14,405 INFO L272 TraceCheckUtils]: 18: Hoare triple {876#(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)); {838#true} is VALID [2022-04-08 13:22:14,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:22:14,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:22:14,405 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:22:14,406 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:14,406 INFO L272 TraceCheckUtils]: 23: Hoare triple {876#(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)); {913#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:14,407 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:14,407 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 13:22:14,407 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 13:22:14,407 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 13:22:14,408 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:22:14,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:14,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [335389045] [2022-04-08 13:22:14,408 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:14,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [492930952] [2022-04-08 13:22:14,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [492930952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:14,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:14,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:22:14,409 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:14,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1878848312] [2022-04-08 13:22:14,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1878848312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:14,409 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:14,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:22:14,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2001104896] [2022-04-08 13:22:14,409 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:14,409 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 27 [2022-04-08 13:22:14,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:14,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 13:22:14,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:14,423 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:22:14,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:14,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:22:14,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:22:14,424 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 13:22:14,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,555 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 13:22:14,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:22:14,556 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 27 [2022-04-08 13:22:14,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:14,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 13:22:14,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 13:22:14,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 13:22:14,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 13:22:14,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 13:22:14,610 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:14,611 INFO L225 Difference]: With dead ends: 66 [2022-04-08 13:22:14,611 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 13:22:14,612 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 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 13:22:14,615 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 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 13:22:14,616 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:22:14,618 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 13:22:14,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 13:22:14,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:14,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:22:14,644 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:22:14,644 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:22:14,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,647 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 13:22:14,647 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:22:14,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:14,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:14,648 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 13:22:14,649 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 13:22:14,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:14,652 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 13:22:14,652 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:22:14,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:14,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:14,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:14,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:14,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:22:14,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 13:22:14,654 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 13:22:14,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:14,655 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 13:22:14,655 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 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 13:22:14,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 13:22:14,699 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 13:22:14,699 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:22:14,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 13:22:14,699 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:14,700 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:14,718 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 13:22:14,915 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:14,916 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:14,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:14,916 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 13:22:14,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:14,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2113839741] [2022-04-08 13:22:14,917 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:22:14,917 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 13:22:14,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:14,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1315197107] [2022-04-08 13:22:14,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:14,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:14,931 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:14,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1017780811] [2022-04-08 13:22:14,932 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:14,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:14,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:14,948 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 13:22:14,949 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 13:22:14,983 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:14,983 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:14,984 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 13:22:14,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:14,994 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:15,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 13:22:15,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {1265#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); {1265#true} is VALID [2022-04-08 13:22:15,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:22:15,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 13:22:15,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-08 13:22:15,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {1265#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; {1265#true} is VALID [2022-04-08 13:22:15,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1265#true} is VALID [2022-04-08 13:22:15,137 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:22:15,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:22:15,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:22:15,138 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 13:22:15,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {1265#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,149 INFO L272 TraceCheckUtils]: 13: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1265#true} is VALID [2022-04-08 13:22:15,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:22:15,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:22:15,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:22:15,152 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,152 INFO L272 TraceCheckUtils]: 18: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1265#true} is VALID [2022-04-08 13:22:15,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:22:15,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:22:15,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:22:15,153 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,153 INFO L272 TraceCheckUtils]: 23: Hoare triple {1303#(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)); {1265#true} is VALID [2022-04-08 13:22:15,153 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:22:15,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:22:15,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:22:15,154 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #84#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,154 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 13:22:15,155 INFO L272 TraceCheckUtils]: 30: Hoare triple {1303#(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)); {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:15,155 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:15,156 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 13:22:15,156 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 13:22:15,156 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 13:22:15,156 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:22:15,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:15,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1315197107] [2022-04-08 13:22:15,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:15,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1017780811] [2022-04-08 13:22:15,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1017780811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:15,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:15,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:22:15,157 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:15,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2113839741] [2022-04-08 13:22:15,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2113839741] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:15,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:15,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:22:15,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909028071] [2022-04-08 13:22:15,157 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:15,158 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 13:22:15,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:15,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:15,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:15,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:22:15,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:15,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:22:15,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:22:15,179 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:15,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:15,311 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 13:22:15,311 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:22:15,311 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 13:22:15,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:15,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:15,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 13:22:15,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:15,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 13:22:15,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 13:22:15,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:15,351 INFO L225 Difference]: With dead ends: 65 [2022-04-08 13:22:15,351 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 13:22:15,351 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 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 13:22:15,353 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:15,353 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:22:15,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 13:22:15,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 13:22:15,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:15,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 13:22:15,380 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 13:22:15,381 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 13:22:15,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:15,382 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 13:22:15,382 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 13:22:15,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:15,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:15,383 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 13:22:15,383 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 13:22:15,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:15,385 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 13:22:15,385 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 13:22:15,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:15,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:15,385 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:15,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:15,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 13:22:15,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 13:22:15,387 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 13:22:15,387 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:15,387 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 13:22:15,387 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:15,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 13:22:15,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:15,440 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 13:22:15,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 13:22:15,440 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:15,441 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:15,457 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 13:22:15,651 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:15,651 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:15,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:15,652 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 13:22:15,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:15,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283367343] [2022-04-08 13:22:19,661 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:22:19,661 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:22:19,661 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 13:22:19,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:19,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1103130566] [2022-04-08 13:22:19,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:19,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:19,669 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:19,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [596345746] [2022-04-08 13:22:19,669 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:19,669 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:19,670 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:19,670 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 13:22:19,671 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 13:22:19,707 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:19,707 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:19,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 13:22:19,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:19,723 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:19,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#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; {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 13:22:19,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:19,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:19,924 INFO L272 TraceCheckUtils]: 13: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-08 13:22:19,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,925 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:19,925 INFO L272 TraceCheckUtils]: 18: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-08 13:22:19,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,926 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:19,926 INFO L272 TraceCheckUtils]: 23: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-08 13:22:19,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,926 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,926 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,927 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:19,927 INFO L290 TraceCheckUtils]: 28: Hoare triple {1771#(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; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:19,928 INFO L290 TraceCheckUtils]: 29: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:19,928 INFO L272 TraceCheckUtils]: 30: Hoare triple {1823#(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)); {1733#true} is VALID [2022-04-08 13:22:19,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,928 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,929 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:19,929 INFO L272 TraceCheckUtils]: 35: Hoare triple {1823#(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)); {1733#true} is VALID [2022-04-08 13:22:19,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:19,929 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:19,929 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:19,930 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:19,931 INFO L272 TraceCheckUtils]: 40: Hoare triple {1823#(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)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:19,932 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:19,932 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 13:22:19,932 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 13:22:19,932 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 13:22:19,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:22:20,105 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 13:22:20,105 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 13:22:20,106 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:20,106 INFO L272 TraceCheckUtils]: 40: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:20,107 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,107 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,107 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,107 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,107 INFO L272 TraceCheckUtils]: 35: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,109 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,109 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,109 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,109 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,109 INFO L272 TraceCheckUtils]: 30: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,109 INFO L290 TraceCheckUtils]: 29: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,111 INFO L290 TraceCheckUtils]: 28: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,112 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,112 INFO L272 TraceCheckUtils]: 23: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,113 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,113 INFO L272 TraceCheckUtils]: 18: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,114 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,114 INFO L272 TraceCheckUtils]: 13: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,114 INFO L290 TraceCheckUtils]: 12: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:20,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#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; {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 13:22:20,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:22:20,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-08 13:22:20,116 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 13:22:20,116 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 13:22:20,116 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:20,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1103130566] [2022-04-08 13:22:20,116 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:20,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [596345746] [2022-04-08 13:22:20,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [596345746] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 13:22:20,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:22:20,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 13:22:20,117 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:20,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283367343] [2022-04-08 13:22:20,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283367343] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:20,117 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:20,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:22:20,117 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413224234] [2022-04-08 13:22:20,117 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:20,117 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 13:22:20,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:20,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:20,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:20,135 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:22:20,135 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:20,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:22:20,135 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 13:22:20,135 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:22,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:22,368 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 13:22:22,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:22:22,368 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 13:22:22,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:22,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:22,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:22:22,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:22,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:22:22,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 13:22:22,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:22,410 INFO L225 Difference]: With dead ends: 69 [2022-04-08 13:22:22,410 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 13:22:22,410 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 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 13:22:22,411 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:22,411 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:22:22,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 13:22:22,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 13:22:22,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:22,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 13:22:22,432 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 13:22:22,432 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 13:22:22,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:22,434 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 13:22:22,434 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 13:22:22,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:22,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:22,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 13:22:22,435 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 13:22:22,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:22,437 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 13:22:22,437 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 13:22:22,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:22,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:22,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:22,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:22,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 13:22:22,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 13:22:22,439 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 13:22:22,439 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:22,440 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 13:22:22,440 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 13:22:22,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 13:22:22,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:22,520 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 13:22:22,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 13:22:22,521 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:22,521 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:22,539 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 13:22:22,734 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:22,734 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:22,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:22,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 13:22:22,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:22,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [477937295] [2022-04-08 13:22:26,848 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:22:26,848 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:22:26,848 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 13:22:26,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:26,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710293629] [2022-04-08 13:22:26,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:26,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:26,857 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:26,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1044942228] [2022-04-08 13:22:26,857 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:26,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:26,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:26,858 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 13:22:26,877 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 13:22:26,907 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:26,907 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:26,908 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 13:22:26,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:26,920 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:27,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 13:22:27,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#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); {2405#true} is VALID [2022-04-08 13:22:27,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#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; {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 13:22:27,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2443#(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 13:22:27,314 INFO L290 TraceCheckUtils]: 12: Hoare triple {2443#(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; {2443#(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 13:22:27,314 INFO L272 TraceCheckUtils]: 13: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-08 13:22:27,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,314 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,319 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2443#(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; {2443#(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 13:22:27,319 INFO L272 TraceCheckUtils]: 18: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-08 13:22:27,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,320 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2443#(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))} #82#return; {2443#(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 13:22:27,320 INFO L272 TraceCheckUtils]: 23: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-08 13:22:27,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,321 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2443#(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))} #84#return; {2443#(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 13:22:27,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {2443#(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; {2495#(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 13:22:27,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {2495#(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; {2495#(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 13:22:27,322 INFO L272 TraceCheckUtils]: 30: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-08 13:22:27,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,322 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,322 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,322 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2495#(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; {2495#(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 13:22:27,322 INFO L272 TraceCheckUtils]: 35: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-08 13:22:27,322 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2495#(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; {2495#(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 13:22:27,323 INFO L272 TraceCheckUtils]: 40: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,324 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2495#(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; {2495#(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 13:22:27,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {2495#(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); {2495#(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 13:22:27,325 INFO L290 TraceCheckUtils]: 46: Hoare triple {2495#(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; {2495#(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 13:22:27,325 INFO L272 TraceCheckUtils]: 47: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-08 13:22:27,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,325 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,325 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2495#(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))} #86#return; {2495#(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 13:22:27,326 INFO L272 TraceCheckUtils]: 52: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-08 13:22:27,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:27,326 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:27,326 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:27,328 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2495#(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))} #88#return; {2495#(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 13:22:27,329 INFO L290 TraceCheckUtils]: 57: Hoare triple {2495#(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); {2443#(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 13:22:27,329 INFO L290 TraceCheckUtils]: 58: Hoare triple {2443#(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; {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 13:22:27,330 INFO L290 TraceCheckUtils]: 59: Hoare triple {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 13:22:27,330 INFO L272 TraceCheckUtils]: 60: Hoare triple {2586#(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)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:27,330 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:27,331 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 13:22:27,331 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 13:22:27,331 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 13:22:27,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:22:36,306 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 13:22:36,308 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 13:22:36,308 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:36,309 INFO L272 TraceCheckUtils]: 60: Hoare triple {2613#(= (+ (* 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)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:36,309 INFO L290 TraceCheckUtils]: 59: Hoare triple {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:22:36,323 INFO L290 TraceCheckUtils]: 58: Hoare triple {2620#(= 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; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:22:36,342 INFO L290 TraceCheckUtils]: 57: Hoare triple {2624#(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); {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,343 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2624#(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))))))))} #88#return; {2624#(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 13:22:36,343 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,343 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,343 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,343 INFO L272 TraceCheckUtils]: 52: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-08 13:22:36,344 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2624#(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))))))))} #86#return; {2624#(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 13:22:36,344 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,344 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,344 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,345 INFO L272 TraceCheckUtils]: 47: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-08 13:22:36,346 INFO L290 TraceCheckUtils]: 46: Hoare triple {2624#(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; {2624#(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 13:22:36,347 INFO L290 TraceCheckUtils]: 45: Hoare triple {2624#(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); {2624#(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 13:22:36,348 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2624#(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; {2624#(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 13:22:36,348 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,348 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,348 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,348 INFO L272 TraceCheckUtils]: 40: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-08 13:22:36,349 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2624#(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; {2624#(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 13:22:36,349 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,349 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,349 INFO L272 TraceCheckUtils]: 35: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-08 13:22:36,349 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2624#(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; {2624#(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 13:22:36,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,350 INFO L272 TraceCheckUtils]: 30: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-08 13:22:36,351 INFO L290 TraceCheckUtils]: 29: Hoare triple {2624#(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; {2624#(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 13:22:36,357 INFO L290 TraceCheckUtils]: 28: Hoare triple {2620#(= 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; {2624#(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 13:22:36,358 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,358 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,358 INFO L272 TraceCheckUtils]: 23: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-08 13:22:36,358 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,359 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,359 INFO L272 TraceCheckUtils]: 18: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-08 13:22:36,362 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,362 INFO L272 TraceCheckUtils]: 13: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 12: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:22:36,363 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2405#true} is VALID [2022-04-08 13:22:36,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#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; {2405#true} is VALID [2022-04-08 13:22:36,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 13:22:36,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 13:22:36,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:22:36,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#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); {2405#true} is VALID [2022-04-08 13:22:36,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 13:22:36,364 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 13:22:36,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:36,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710293629] [2022-04-08 13:22:36,364 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:36,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1044942228] [2022-04-08 13:22:36,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1044942228] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:22:36,365 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:22:36,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 13:22:36,365 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:36,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [477937295] [2022-04-08 13:22:36,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [477937295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:36,365 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:36,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:22:36,365 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [299911143] [2022-04-08 13:22:36,365 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:36,366 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-08 13:22:36,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:36,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 13:22:36,397 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 13:22:36,397 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:22:36,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:36,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:22:36,397 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:22:36,398 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 13:22:36,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:36,914 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-08 13:22:36,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:22:36,915 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-08 13:22:36,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:36,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 13:22:36,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 13:22:36,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 13:22:36,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 13:22:36,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-08 13:22:37,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:37,002 INFO L225 Difference]: With dead ends: 130 [2022-04-08 13:22:37,002 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 13:22:37,003 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 116 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 13:22:37,003 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:37,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 13:22:37,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 13:22:37,038 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 13:22:37,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:37,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:37,039 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:37,039 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:37,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:37,041 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 13:22:37,042 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 13:22:37,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:37,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:37,042 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 13:22:37,042 INFO L87 Difference]: Start difference. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 13:22:37,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:37,045 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 13:22:37,045 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 13:22:37,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:37,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:37,045 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:37,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:37,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:37,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 13:22:37,048 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 13:22:37,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:37,048 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 13:22:37,049 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 13:22:37,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 13:22:37,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:37,173 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 13:22:37,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 13:22:37,174 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:37,174 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:37,197 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 13:22:37,379 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:37,379 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:37,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:37,380 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 13:22:37,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:37,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487129412] [2022-04-08 13:22:41,470 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:22:41,470 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:22:41,470 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 13:22:41,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:41,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1582461560] [2022-04-08 13:22:41,471 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:41,471 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:41,482 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:41,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2023681199] [2022-04-08 13:22:41,482 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:22:41,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:41,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:41,483 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 13:22:41,484 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 13:22:41,523 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:22:41,523 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:41,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 13:22:41,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:41,540 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:41,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 13:22:41,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#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); {3460#true} is VALID [2022-04-08 13:22:41,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 13:22:41,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 13:22:41,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#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; {3460#true} is VALID [2022-04-08 13:22:41,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:41,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,830 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 13:22:41,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,830 INFO L290 TraceCheckUtils]: 12: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,831 INFO L272 TraceCheckUtils]: 13: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-08 13:22:41,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,836 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,837 INFO L272 TraceCheckUtils]: 18: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-08 13:22:41,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,837 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,837 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,837 INFO L272 TraceCheckUtils]: 23: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-08 13:22:41,838 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,838 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,838 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,839 INFO L290 TraceCheckUtils]: 28: Hoare triple {3498#(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; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,839 INFO L290 TraceCheckUtils]: 29: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,839 INFO L272 TraceCheckUtils]: 30: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-08 13:22:41,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,840 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,840 INFO L272 TraceCheckUtils]: 35: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-08 13:22:41,840 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,840 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,841 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,841 INFO L272 TraceCheckUtils]: 40: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-08 13:22:41,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,841 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,841 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,841 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,842 INFO L290 TraceCheckUtils]: 45: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,842 INFO L290 TraceCheckUtils]: 46: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,842 INFO L272 TraceCheckUtils]: 47: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:41,842 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,842 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,842 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,843 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,843 INFO L272 TraceCheckUtils]: 52: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-08 13:22:41,843 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,843 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,843 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,844 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #88#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:22:41,844 INFO L290 TraceCheckUtils]: 57: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= 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); {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,845 INFO L290 TraceCheckUtils]: 58: Hoare triple {3498#(and (= 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; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,845 INFO L290 TraceCheckUtils]: 59: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,845 INFO L272 TraceCheckUtils]: 60: Hoare triple {3498#(and (= main_~B~0 1) (= 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)); {3460#true} is VALID [2022-04-08 13:22:41,845 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:41,845 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:41,845 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:41,846 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:22:41,846 INFO L272 TraceCheckUtils]: 65: Hoare triple {3498#(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)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:41,847 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:41,847 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 13:22:41,847 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 13:22:41,847 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 13:22:41,847 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:22:46,400 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 13:22:46,401 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 13:22:46,401 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:46,402 INFO L272 TraceCheckUtils]: 65: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:46,402 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,402 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,402 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,402 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,402 INFO L272 TraceCheckUtils]: 60: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,403 INFO L290 TraceCheckUtils]: 59: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,403 INFO L290 TraceCheckUtils]: 58: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,416 INFO L290 TraceCheckUtils]: 57: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (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); {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,416 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #88#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,416 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,416 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,416 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,416 INFO L272 TraceCheckUtils]: 52: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,417 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #86#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,417 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,417 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,417 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,417 INFO L272 TraceCheckUtils]: 47: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,418 INFO L290 TraceCheckUtils]: 46: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !false; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,419 INFO L290 TraceCheckUtils]: 45: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !(~r~0 >= ~d~0); {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,420 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #84#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,420 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,420 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,420 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,420 INFO L272 TraceCheckUtils]: 40: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,420 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #82#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L272 TraceCheckUtils]: 35: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #80#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,421 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,421 INFO L272 TraceCheckUtils]: 30: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !false; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,427 INFO L290 TraceCheckUtils]: 28: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-08 13:22:46,427 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,427 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L272 TraceCheckUtils]: 23: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,428 INFO L272 TraceCheckUtils]: 18: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,429 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,429 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,429 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,429 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,429 INFO L272 TraceCheckUtils]: 13: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:22:46,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#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; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#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); {3460#true} is VALID [2022-04-08 13:22:46,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 13:22:46,431 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 13:22:46,431 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:46,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1582461560] [2022-04-08 13:22:46,431 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:46,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2023681199] [2022-04-08 13:22:46,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2023681199] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:22:46,431 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:22:46,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 13:22:46,432 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:46,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487129412] [2022-04-08 13:22:46,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487129412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:46,432 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:46,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:22:46,432 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1235255863] [2022-04-08 13:22:46,432 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:46,432 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-08 13:22:46,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:46,433 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), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 13:22:46,466 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 13:22:46,467 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:22:46,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:46,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:22:46,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 13:22:46,467 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 13:22:46,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:46,738 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 13:22:46,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 13:22:46,738 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-08 13:22:46,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:46,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 13:22:46,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 13:22:46,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 13:22:46,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 13:22:46,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-08 13:22:46,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:46,818 INFO L225 Difference]: With dead ends: 126 [2022-04-08 13:22:46,818 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 13:22:46,818 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 13:22:46,819 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 6 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:46,819 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 175 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:22:46,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 13:22:46,867 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 13:22:46,867 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:46,867 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:46,867 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:46,868 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:46,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:46,870 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 13:22:46,870 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:22:46,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:46,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:46,871 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 13:22:46,871 INFO L87 Difference]: Start difference. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 13:22:46,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:46,873 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 13:22:46,873 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:22:46,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:46,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:46,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:46,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:46,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 13:22:46,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 13:22:46,877 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 13:22:46,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:46,877 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 13:22:46,877 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 13:22:46,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 13:22:46,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:46,988 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:22:46,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 13:22:46,989 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:46,989 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:47,005 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 13:22:47,199 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:47,199 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:47,200 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:47,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 13:22:47,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:47,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1863721959] [2022-04-08 13:22:50,176 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:22:50,176 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:22:50,177 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 13:22:50,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:50,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85095074] [2022-04-08 13:22:50,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:50,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:50,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:50,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1012973883] [2022-04-08 13:22:50,192 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:50,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:50,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:50,193 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 13:22:50,194 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 13:22:50,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:50,233 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:50,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 13:22:50,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:50,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:50,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 13:22:50,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#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); {4547#true} is VALID [2022-04-08 13:22:50,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 13:22:50,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 13:22:50,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#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; {4547#true} is VALID [2022-04-08 13:22:50,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:50,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 13:22:50,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4585#(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 13:22:50,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {4585#(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; {4585#(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 13:22:50,746 INFO L272 TraceCheckUtils]: 13: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-08 13:22:50,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,747 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4585#(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; {4585#(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 13:22:50,747 INFO L272 TraceCheckUtils]: 18: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-08 13:22:50,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:50,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,748 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4585#(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))} #82#return; {4585#(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 13:22:50,748 INFO L272 TraceCheckUtils]: 23: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-08 13:22:50,749 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,749 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,749 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,749 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4585#(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))} #84#return; {4585#(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 13:22:50,750 INFO L290 TraceCheckUtils]: 28: Hoare triple {4585#(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; {4639#(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 13:22:50,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {4639#(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; {4639#(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 13:22:50,750 INFO L272 TraceCheckUtils]: 30: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-08 13:22:50,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,751 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4639#(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; {4639#(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 13:22:50,751 INFO L272 TraceCheckUtils]: 35: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-08 13:22:50,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,751 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,751 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4639#(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; {4639#(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 13:22:50,752 INFO L272 TraceCheckUtils]: 40: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-08 13:22:50,752 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,752 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,752 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4639#(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; {4639#(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 13:22:50,753 INFO L290 TraceCheckUtils]: 45: Hoare triple {4639#(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); {4639#(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 13:22:50,753 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(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; {4639#(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 13:22:50,753 INFO L272 TraceCheckUtils]: 47: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-08 13:22:50,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,753 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,754 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4639#(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))} #86#return; {4639#(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 13:22:50,754 INFO L272 TraceCheckUtils]: 52: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-08 13:22:50,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:50,754 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:50,754 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:50,754 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4639#(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))} #88#return; {4639#(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 13:22:50,755 INFO L290 TraceCheckUtils]: 57: Hoare triple {4639#(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); {4585#(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 13:22:50,756 INFO L290 TraceCheckUtils]: 58: Hoare triple {4585#(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; {4730#(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 13:22:50,756 INFO L290 TraceCheckUtils]: 59: Hoare triple {4730#(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; {4730#(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 13:22:50,756 INFO L272 TraceCheckUtils]: 60: Hoare triple {4730#(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)); {4547#true} is VALID [2022-04-08 13:22:50,756 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:50,757 INFO L290 TraceCheckUtils]: 62: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,757 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,758 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4730#(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))} #86#return; {4749#(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 13:22:50,758 INFO L272 TraceCheckUtils]: 65: Hoare triple {4749#(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)); {4547#true} is VALID [2022-04-08 13:22:50,758 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:50,758 INFO L290 TraceCheckUtils]: 67: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,758 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:50,759 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4749#(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))} #88#return; {4765#(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 13:22:50,760 INFO L290 TraceCheckUtils]: 70: Hoare triple {4765#(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); {4769#(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 13:22:50,760 INFO L272 TraceCheckUtils]: 71: Hoare triple {4769#(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)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:50,760 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:50,761 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 13:22:50,761 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 13:22:50,761 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 62 proven. 30 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-08 13:22:50,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:22:56,698 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 13:22:56,699 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 13:22:56,699 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:22:56,700 INFO L272 TraceCheckUtils]: 71: Hoare triple {4793#(= (+ (* 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)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:22:56,700 INFO L290 TraceCheckUtils]: 70: Hoare triple {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4793#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:22:56,701 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4801#(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)))} #88#return; {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-08 13:22:56,701 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:56,701 INFO L290 TraceCheckUtils]: 67: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:56,702 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:22:56,702 INFO L272 TraceCheckUtils]: 65: Hoare triple {4801#(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)); {4547#true} is VALID [2022-04-08 13:22:56,703 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4547#true} #86#return; {4801#(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 13:22:56,704 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:56,704 INFO L290 TraceCheckUtils]: 62: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:22:56,704 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:22:56,704 INFO L272 TraceCheckUtils]: 60: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:22:56,707 INFO L290 TraceCheckUtils]: 58: Hoare triple {4547#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 57: Hoare triple {4547#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); {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L272 TraceCheckUtils]: 52: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L272 TraceCheckUtils]: 47: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,708 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L272 TraceCheckUtils]: 40: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 13:22:56,711 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L272 TraceCheckUtils]: 35: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L272 TraceCheckUtils]: 30: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {4547#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L272 TraceCheckUtils]: 23: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,712 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L272 TraceCheckUtils]: 18: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L272 TraceCheckUtils]: 13: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:22:56,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#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; {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#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); {4547#true} is VALID [2022-04-08 13:22:56,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 13:22:56,714 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 13:22:56,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:56,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85095074] [2022-04-08 13:22:56,714 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:56,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1012973883] [2022-04-08 13:22:56,714 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1012973883] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:22:56,715 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:22:56,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 13:22:56,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:56,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1863721959] [2022-04-08 13:22:56,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1863721959] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:56,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:56,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 13:22:56,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1232749707] [2022-04-08 13:22:56,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:56,715 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 13:22:56,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:56,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 13:22:56,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:56,765 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 13:22:56,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:56,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 13:22:56,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 13:22:56,765 INFO L87 Difference]: Start difference. First operand 103 states and 118 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 13:22:57,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:57,539 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-08 13:22:57,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:22:57,539 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 13:22:57,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:57,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 13:22:57,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 13:22:57,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 13:22:57,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 13:22:57,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-08 13:22:57,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:57,604 INFO L225 Difference]: With dead ends: 109 [2022-04-08 13:22:57,604 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 13:22:57,605 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-08 13:22:57,606 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:57,606 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 172 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 13:22:57,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 13:22:57,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 13:22:57,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:57,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:22:57,633 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:22:57,633 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:22:57,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:57,635 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 13:22:57,635 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:22:57,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:57,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:57,636 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-08 13:22:57,636 INFO L87 Difference]: Start difference. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-08 13:22:57,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:57,637 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 13:22:57,637 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:22:57,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:57,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:57,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:57,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:57,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:22:57,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-08 13:22:57,639 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-08 13:22:57,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:57,639 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-08 13:22:57,639 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 13:22:57,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-08 13:22:57,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:57,731 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:22:57,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 13:22:57,731 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:57,731 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:22:57,749 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 13:22:57,932 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:57,932 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:57,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:57,932 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 13:22:57,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:57,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [867023602] [2022-04-08 13:23:01,630 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:23:01,631 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:23:01,631 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 13:23:01,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:23:01,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1414025446] [2022-04-08 13:23:01,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:23:01,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:23:01,639 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:23:01,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1700368425] [2022-04-08 13:23:01,639 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 13:23:01,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:23:01,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:23:01,640 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 13:23:01,641 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 13:23:01,684 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 13:23:01,684 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:23:01,686 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 13:23:01,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:23:01,699 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:23:06,019 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 13:23:08,108 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 13:23:08,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#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); {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#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; {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,438 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 13:23:08,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,439 INFO L290 TraceCheckUtils]: 12: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,439 INFO L272 TraceCheckUtils]: 13: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,439 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,439 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,440 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,440 INFO L272 TraceCheckUtils]: 18: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,440 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,440 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,441 INFO L272 TraceCheckUtils]: 23: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,441 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,442 INFO L290 TraceCheckUtils]: 28: Hoare triple {5596#(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; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,442 INFO L290 TraceCheckUtils]: 29: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,442 INFO L272 TraceCheckUtils]: 30: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,442 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,442 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,443 INFO L272 TraceCheckUtils]: 35: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,443 INFO L272 TraceCheckUtils]: 40: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,443 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,444 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,444 INFO L290 TraceCheckUtils]: 45: Hoare triple {5596#(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; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,445 INFO L272 TraceCheckUtils]: 47: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,445 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,445 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,445 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,446 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,446 INFO L272 TraceCheckUtils]: 52: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,446 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,446 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,446 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,450 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,450 INFO L272 TraceCheckUtils]: 57: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,450 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:23:08,451 INFO L290 TraceCheckUtils]: 59: Hoare triple {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:23:08,462 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:23:08,462 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,463 INFO L290 TraceCheckUtils]: 62: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,463 INFO L290 TraceCheckUtils]: 63: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,463 INFO L272 TraceCheckUtils]: 64: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,463 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,463 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,463 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,464 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,464 INFO L272 TraceCheckUtils]: 69: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:23:08,464 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:23:08,464 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:23:08,464 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:23:08,465 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #88#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 13:23:08,465 INFO L290 TraceCheckUtils]: 74: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (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); {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,466 INFO L290 TraceCheckUtils]: 75: Hoare triple {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~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; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,467 INFO L290 TraceCheckUtils]: 76: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} assume !false; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-08 13:23:08,467 INFO L272 TraceCheckUtils]: 77: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:23:08,467 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:23:08,468 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 13:23:08,468 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 13:23:08,468 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 13:23:08,468 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:23:39,730 WARN L232 SmtUtils]: Spent 14.95s on a formula simplification that was a NOOP. DAG size: 50 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 13:24:39,241 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 13:24:39,242 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 13:24:39,242 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:24:39,242 INFO L272 TraceCheckUtils]: 77: Hoare triple {5821#(= (+ (* 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)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:24:39,243 INFO L290 TraceCheckUtils]: 76: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,255 INFO L290 TraceCheckUtils]: 75: Hoare triple {5828#(= 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; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,274 INFO L290 TraceCheckUtils]: 74: Hoare triple {5832#(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); {5828#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 13:24:39,275 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5832#(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))))))))} #88#return; {5832#(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 13:24:39,275 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,275 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,275 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,275 INFO L272 TraceCheckUtils]: 69: Hoare triple {5832#(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)); {5558#true} is VALID [2022-04-08 13:24:39,275 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5832#(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))))))))} #86#return; {5832#(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 13:24:39,275 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,276 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,276 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,276 INFO L272 TraceCheckUtils]: 64: Hoare triple {5832#(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)); {5558#true} is VALID [2022-04-08 13:24:39,277 INFO L290 TraceCheckUtils]: 63: Hoare triple {5832#(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; {5832#(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 13:24:39,277 INFO L290 TraceCheckUtils]: 62: Hoare triple {5832#(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); {5832#(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 13:24:39,278 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {5832#(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 13:24:39,279 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:24:39,279 INFO L290 TraceCheckUtils]: 59: Hoare triple {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:24:39,279 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:24:39,280 INFO L272 TraceCheckUtils]: 57: Hoare triple {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,280 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #82#return; {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 13:24:39,280 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,280 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,280 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,280 INFO L272 TraceCheckUtils]: 52: Hoare triple {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,281 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #80#return; {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 13:24:39,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,281 INFO L272 TraceCheckUtils]: 47: Hoare triple {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,283 INFO L290 TraceCheckUtils]: 46: Hoare triple {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !false; {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 13:24:39,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5872#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 13:24:39,287 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,287 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,287 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,287 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,287 INFO L272 TraceCheckUtils]: 40: Hoare triple {5821#(= (+ (* 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)); {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L272 TraceCheckUtils]: 35: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,288 INFO L272 TraceCheckUtils]: 30: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,289 INFO L290 TraceCheckUtils]: 28: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,290 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L272 TraceCheckUtils]: 23: Hoare triple {5821#(= (+ (* 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)); {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,291 INFO L272 TraceCheckUtils]: 18: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,291 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,291 INFO L272 TraceCheckUtils]: 13: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 12: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 13:24:39,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#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; {5558#true} is VALID [2022-04-08 13:24:39,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 13:24:39,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 13:24:39,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:24:39,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#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); {5558#true} is VALID [2022-04-08 13:24:39,293 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 13:24:39,293 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 13:24:39,293 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:24:39,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1414025446] [2022-04-08 13:24:39,293 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:24:39,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1700368425] [2022-04-08 13:24:39,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1700368425] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:24:39,294 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:24:39,294 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 13:24:39,294 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:24:39,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [867023602] [2022-04-08 13:24:39,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [867023602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:24:39,294 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:24:39,294 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 13:24:39,294 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2060547382] [2022-04-08 13:24:39,294 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:24:39,294 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 13:24:39,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:24:39,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:24:39,335 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 13:24:39,336 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 13:24:39,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:24:39,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 13:24:39,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 13:24:39,336 INFO L87 Difference]: Start difference. First operand 81 states and 94 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:24:39,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:39,990 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 13:24:39,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:24:39,991 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 13:24:39,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:24:39,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:24:39,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 13:24:39,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:24:39,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 13:24:39,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-08 13:24:40,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:24:40,080 INFO L225 Difference]: With dead ends: 106 [2022-04-08 13:24:40,080 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 13:24:40,080 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 15.5s TimeCoverageRelationStatistics Valid=70, Invalid=236, Unknown=0, NotChecked=0, Total=306 [2022-04-08 13:24:40,081 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 250 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 13:24:40,081 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 129 Invalid, 250 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 13:24:40,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 13:24:40,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-08 13:24:40,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:24:40,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:24:40,139 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:24:40,140 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:24:40,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:40,141 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 13:24:40,141 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 13:24:40,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:24:40,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:24:40,142 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-08 13:24:40,142 INFO L87 Difference]: Start difference. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-08 13:24:40,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:40,144 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 13:24:40,144 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 13:24:40,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:24:40,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:24:40,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:24:40,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:24:40,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 13:24:40,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-08 13:24:40,146 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-08 13:24:40,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:24:40,146 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-08 13:24:40,147 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 13:24:40,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-08 13:24:40,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:24:40,268 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-08 13:24:40,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 13:24:40,268 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:24:40,268 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:24:40,284 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 13:24:40,481 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:24:40,481 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:24:40,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:24:40,482 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 13:24:40,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:24:40,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1668879792] [2022-04-08 13:24:42,573 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:24:42,573 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:24:42,573 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 13:24:42,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:24:42,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1892305881] [2022-04-08 13:24:42,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:24:42,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:24:42,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:24:42,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [277259347] [2022-04-08 13:24:42,581 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:24:42,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:24:42,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:24:42,582 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 13:24:42,583 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 13:24:42,625 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:24:42,625 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:24:42,626 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 13:24:42,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:24:42,638 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:24:42,952 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {6645#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); {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {6645#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; {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 13:24:42,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:24:42,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:24:42,953 INFO L272 TraceCheckUtils]: 13: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 13:24:42,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,954 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:24:42,954 INFO L272 TraceCheckUtils]: 18: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 13:24:42,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,954 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,955 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:24:42,955 INFO L272 TraceCheckUtils]: 23: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 13:24:42,955 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,955 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,955 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 13:24:42,956 INFO L290 TraceCheckUtils]: 28: Hoare triple {6683#(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; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,956 INFO L272 TraceCheckUtils]: 30: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 13:24:42,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,956 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,957 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,957 INFO L272 TraceCheckUtils]: 35: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 13:24:42,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,957 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,958 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,958 INFO L272 TraceCheckUtils]: 40: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 13:24:42,958 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,958 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,959 INFO L272 TraceCheckUtils]: 47: Hoare triple {6787#(and (= 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)); {6645#true} is VALID [2022-04-08 13:24:42,959 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,959 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,959 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,960 INFO L272 TraceCheckUtils]: 52: Hoare triple {6787#(and (= 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)); {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,960 INFO L272 TraceCheckUtils]: 57: Hoare triple {6787#(and (= 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)); {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,960 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,961 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,961 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,961 INFO L290 TraceCheckUtils]: 62: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 63: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,962 INFO L272 TraceCheckUtils]: 64: Hoare triple {6787#(and (= 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)); {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,962 INFO L272 TraceCheckUtils]: 69: Hoare triple {6787#(and (= 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)); {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,962 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,963 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,963 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:24:42,963 INFO L290 TraceCheckUtils]: 74: Hoare triple {6787#(and (= 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); {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,964 INFO L290 TraceCheckUtils]: 75: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,964 INFO L290 TraceCheckUtils]: 76: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,964 INFO L272 TraceCheckUtils]: 77: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:42,964 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:42,964 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:42,964 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:42,965 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 13:24:42,966 INFO L272 TraceCheckUtils]: 82: Hoare triple {6735#(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)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:24:42,966 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:24:42,966 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 13:24:42,966 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:24:42,966 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 13:24:42,967 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:24:54,062 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:24:54,062 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 13:24:54,062 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:24:54,063 INFO L272 TraceCheckUtils]: 82: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:24:54,064 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,064 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,064 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,064 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,064 INFO L272 TraceCheckUtils]: 77: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,064 INFO L290 TraceCheckUtils]: 76: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,065 INFO L290 TraceCheckUtils]: 75: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,079 INFO L290 TraceCheckUtils]: 74: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,079 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,079 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L272 TraceCheckUtils]: 69: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,080 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,080 INFO L272 TraceCheckUtils]: 64: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,081 INFO L290 TraceCheckUtils]: 63: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,082 INFO L290 TraceCheckUtils]: 62: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,082 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,082 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,082 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,083 INFO L272 TraceCheckUtils]: 57: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,085 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L272 TraceCheckUtils]: 52: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,085 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,085 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,086 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,086 INFO L272 TraceCheckUtils]: 47: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,086 INFO L290 TraceCheckUtils]: 46: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,091 INFO L290 TraceCheckUtils]: 45: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 13:24:54,091 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,091 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L272 TraceCheckUtils]: 40: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,092 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,092 INFO L272 TraceCheckUtils]: 35: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,093 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,093 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,093 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,093 INFO L272 TraceCheckUtils]: 30: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,094 INFO L290 TraceCheckUtils]: 29: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,095 INFO L290 TraceCheckUtils]: 28: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,096 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,096 INFO L272 TraceCheckUtils]: 23: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,096 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L272 TraceCheckUtils]: 18: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,097 INFO L272 TraceCheckUtils]: 13: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 13:24:54,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {6645#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; {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 13:24:54,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:24:54,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {6645#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); {6645#true} is VALID [2022-04-08 13:24:54,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 13:24:54,099 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 13 refuted. 0 times theorem prover too weak. 269 trivial. 0 not checked. [2022-04-08 13:24:54,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:24:54,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1892305881] [2022-04-08 13:24:54,099 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:24:54,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [277259347] [2022-04-08 13:24:54,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [277259347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:24:54,100 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:24:54,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 9 [2022-04-08 13:24:54,100 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:24:54,100 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1668879792] [2022-04-08 13:24:54,100 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1668879792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:24:54,101 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:24:54,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:24:54,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2063381570] [2022-04-08 13:24:54,101 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:24:54,101 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-08 13:24:54,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:24:54,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 13:24:54,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:24:54,137 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:24:54,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:24:54,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:24:54,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 13:24:54,138 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 13:24:54,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:54,607 INFO L93 Difference]: Finished difference Result 170 states and 221 transitions. [2022-04-08 13:24:54,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:24:54,608 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-08 13:24:54,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:24:54,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 13:24:54,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 13:24:54,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 13:24:54,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 13:24:54,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-08 13:24:54,716 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 13:24:54,718 INFO L225 Difference]: With dead ends: 170 [2022-04-08 13:24:54,718 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 13:24:54,719 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 161 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:24:54,719 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 10 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:24:54,719 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 233 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:24:54,719 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 13:24:54,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-08 13:24:54,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:24:54,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 13:24:54,805 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 13:24:54,805 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 13:24:54,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:54,808 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 13:24:54,808 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 13:24:54,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:24:54,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:24:54,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-08 13:24:54,809 INFO L87 Difference]: Start difference. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-08 13:24:54,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:24:54,811 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 13:24:54,811 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 13:24:54,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:24:54,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:24:54,812 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:24:54,812 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:24:54,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 13:24:54,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 158 transitions. [2022-04-08 13:24:54,815 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 158 transitions. Word has length 86 [2022-04-08 13:24:54,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:24:54,815 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 158 transitions. [2022-04-08 13:24:54,815 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 13:24:54,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 158 transitions. [2022-04-08 13:24:54,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:24:54,964 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 158 transitions. [2022-04-08 13:24:54,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 13:24:54,965 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:24:54,965 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, 1, 1, 1, 1, 1, 1] [2022-04-08 13:24:54,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 13:24:55,165 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 13:24:55,166 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:24:55,166 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:24:55,166 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-08 13:24:55,166 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:24:55,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1510328286] [2022-04-08 13:24:57,248 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:24:57,248 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:24:57,248 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-08 13:24:57,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:24:57,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131957430] [2022-04-08 13:24:57,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:24:57,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:24:57,258 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:24:57,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1461512195] [2022-04-08 13:24:57,259 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:24:57,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:24:57,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:24:57,259 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 13:24:57,263 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 13:24:57,307 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:24:57,307 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:24:57,308 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 13:24:57,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:24:57,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:25:01,993 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-08 13:25:01,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {8035#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); {8035#true} is VALID [2022-04-08 13:25:01,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:01,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-08 13:25:01,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-08 13:25:01,994 INFO L290 TraceCheckUtils]: 5: Hoare triple {8035#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; {8035#true} is VALID [2022-04-08 13:25:01,994 INFO L272 TraceCheckUtils]: 6: Hoare triple {8035#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:01,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8061#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:25:01,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {8061#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8065#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:25:01,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {8065#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8065#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:25:01,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8065#(not (= |assume_abort_if_not_#in~cond| 0))} {8035#true} #78#return; {8072#(and (<= 0 main_~A~0) (<= main_~A~0 2))} is VALID [2022-04-08 13:25:01,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {8072#(and (<= 0 main_~A~0) (<= main_~A~0 2))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !false; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,996 INFO L272 TraceCheckUtils]: 13: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:01,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:01,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:01,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:01,997 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #80#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,997 INFO L272 TraceCheckUtils]: 18: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:01,997 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:01,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:01,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:01,997 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #82#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,998 INFO L272 TraceCheckUtils]: 23: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:01,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:01,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:01,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:01,998 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #84#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,999 INFO L290 TraceCheckUtils]: 28: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !false; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:01,999 INFO L272 TraceCheckUtils]: 30: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:01,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:01,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:01,999 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,000 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #80#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,000 INFO L272 TraceCheckUtils]: 35: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,000 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,000 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,000 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,000 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #82#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,000 INFO L272 TraceCheckUtils]: 40: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,001 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,001 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,001 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,001 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #84#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,002 INFO L290 TraceCheckUtils]: 45: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,002 INFO L272 TraceCheckUtils]: 47: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,002 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,002 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,002 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,003 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #80#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,003 INFO L272 TraceCheckUtils]: 52: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,003 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,003 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,003 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,003 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #82#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,004 INFO L272 TraceCheckUtils]: 57: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,004 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,004 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,004 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,004 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #84#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,004 INFO L290 TraceCheckUtils]: 62: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !(~r~0 >= ~d~0); {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,005 INFO L290 TraceCheckUtils]: 63: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,005 INFO L272 TraceCheckUtils]: 64: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,005 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,005 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,005 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,006 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #86#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,006 INFO L272 TraceCheckUtils]: 69: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,006 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,006 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,006 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,006 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #88#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,007 INFO L290 TraceCheckUtils]: 74: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~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); {8268#(and (<= 2 main_~d~0) (<= main_~r~0 2))} is VALID [2022-04-08 13:25:02,007 INFO L290 TraceCheckUtils]: 75: Hoare triple {8268#(and (<= 2 main_~d~0) (<= main_~r~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 13:25:02,008 INFO L290 TraceCheckUtils]: 76: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} assume !false; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 13:25:02,008 INFO L272 TraceCheckUtils]: 77: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,008 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,008 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,008 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,009 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8035#true} {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #86#return; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 13:25:02,009 INFO L272 TraceCheckUtils]: 82: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 13:25:02,009 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 13:25:02,009 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 13:25:02,009 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 13:25:02,009 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8035#true} {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #88#return; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 13:25:02,010 INFO L290 TraceCheckUtils]: 87: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~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); {8309#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} is VALID [2022-04-08 13:25:02,011 INFO L290 TraceCheckUtils]: 88: Hoare triple {8309#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L290 TraceCheckUtils]: 89: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L272 TraceCheckUtils]: 90: Hoare triple {8036#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L290 TraceCheckUtils]: 91: Hoare triple {8036#false} ~cond := #in~cond; {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L290 TraceCheckUtils]: 92: Hoare triple {8036#false} assume 0 == ~cond; {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 13:25:02,011 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 30 proven. 20 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 13:25:02,011 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:25:03,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:25:03,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [131957430] [2022-04-08 13:25:03,585 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:25:03,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1461512195] [2022-04-08 13:25:03,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1461512195] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 13:25:03,585 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:25:03,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 13:25:03,585 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:25:03,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1510328286] [2022-04-08 13:25:03,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1510328286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:25:03,585 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:25:03,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 13:25:03,586 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1768671728] [2022-04-08 13:25:03,586 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:25:03,586 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-08 13:25:03,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:25:03,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:25:03,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:25:03,625 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 13:25:03,625 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:25:03,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 13:25:03,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-08 13:25:03,626 INFO L87 Difference]: Start difference. First operand 130 states and 158 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:25:04,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:25:04,349 INFO L93 Difference]: Finished difference Result 164 states and 189 transitions. [2022-04-08 13:25:04,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 13:25:04,349 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-08 13:25:04,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:25:04,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:25:04,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 13:25:04,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:25:04,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 13:25:04,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-08 13:25:04,437 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:25:04,438 INFO L225 Difference]: With dead ends: 164 [2022-04-08 13:25:04,439 INFO L226 Difference]: Without dead ends: 100 [2022-04-08 13:25:04,439 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=336, Unknown=0, NotChecked=0, Total=420 [2022-04-08 13:25:04,439 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 35 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 13:25:04,440 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 217 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 13:25:04,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-08 13:25:04,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 95. [2022-04-08 13:25:04,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:25:04,566 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:25:04,566 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:25:04,566 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:25:04,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:25:04,567 INFO L93 Difference]: Finished difference Result 100 states and 108 transitions. [2022-04-08 13:25:04,567 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 108 transitions. [2022-04-08 13:25:04,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:25:04,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:25:04,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 100 states. [2022-04-08 13:25:04,568 INFO L87 Difference]: Start difference. First operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 100 states. [2022-04-08 13:25:04,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:25:04,569 INFO L93 Difference]: Finished difference Result 100 states and 108 transitions. [2022-04-08 13:25:04,570 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 108 transitions. [2022-04-08 13:25:04,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:25:04,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:25:04,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:25:04,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:25:04,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 13:25:04,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 101 transitions. [2022-04-08 13:25:04,571 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 101 transitions. Word has length 94 [2022-04-08 13:25:04,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:25:04,574 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 101 transitions. [2022-04-08 13:25:04,574 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:25:04,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 101 transitions. [2022-04-08 13:25:04,681 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 13:25:04,681 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-08 13:25:04,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 13:25:04,682 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:25:04,682 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:25:04,698 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 13:25:04,883 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:25:04,883 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:25:04,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:25:04,884 INFO L85 PathProgramCache]: Analyzing trace with hash -282067362, now seen corresponding path program 1 times [2022-04-08 13:25:04,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:25:04,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1007331082] [2022-04-08 13:25:07,267 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:25:07,267 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:25:07,267 INFO L85 PathProgramCache]: Analyzing trace with hash -282067362, now seen corresponding path program 2 times [2022-04-08 13:25:07,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:25:07,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622598722] [2022-04-08 13:25:07,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:25:07,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:25:07,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:25:07,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1784165805] [2022-04-08 13:25:07,278 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:25:07,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:25:07,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:25:07,279 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 13:25:07,291 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 13:25:07,332 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:25:07,332 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:25:07,333 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 13:25:07,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:25:07,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:25:10,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {9124#true} call ULTIMATE.init(); {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {9124#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); {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9124#true} {9124#true} #94#return; {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {9124#true} call #t~ret5 := main(); {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {9124#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; {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {9124#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9124#true} {9124#true} #78#return; {9124#true} is VALID [2022-04-08 13:25:10,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {9124#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 13:25:10,330 INFO L290 TraceCheckUtils]: 12: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} assume !false; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 13:25:10,330 INFO L272 TraceCheckUtils]: 13: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,331 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #80#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 13:25:10,331 INFO L272 TraceCheckUtils]: 18: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,331 INFO L290 TraceCheckUtils]: 19: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,332 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #82#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 13:25:10,332 INFO L272 TraceCheckUtils]: 23: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,332 INFO L290 TraceCheckUtils]: 24: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,332 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #84#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 13:25:10,333 INFO L290 TraceCheckUtils]: 28: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 13:25:10,333 INFO L290 TraceCheckUtils]: 29: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} assume !false; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 13:25:10,333 INFO L272 TraceCheckUtils]: 30: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,333 INFO L290 TraceCheckUtils]: 31: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L290 TraceCheckUtils]: 32: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L290 TraceCheckUtils]: 33: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #80#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 13:25:10,334 INFO L272 TraceCheckUtils]: 35: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,334 INFO L290 TraceCheckUtils]: 38: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,335 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #82#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 13:25:10,335 INFO L272 TraceCheckUtils]: 40: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,335 INFO L290 TraceCheckUtils]: 41: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,335 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #84#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 13:25:10,336 INFO L290 TraceCheckUtils]: 45: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,336 INFO L290 TraceCheckUtils]: 46: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !false; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,337 INFO L272 TraceCheckUtils]: 47: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 48: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 49: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 50: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #80#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,337 INFO L272 TraceCheckUtils]: 52: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 53: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 54: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,337 INFO L290 TraceCheckUtils]: 55: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,338 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #82#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,338 INFO L272 TraceCheckUtils]: 57: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,338 INFO L290 TraceCheckUtils]: 58: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,339 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #84#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,339 INFO L290 TraceCheckUtils]: 62: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !(~r~0 >= ~d~0); {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,339 INFO L290 TraceCheckUtils]: 63: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !false; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,339 INFO L272 TraceCheckUtils]: 64: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 65: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 67: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #86#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,340 INFO L272 TraceCheckUtils]: 69: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 70: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 71: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,340 INFO L290 TraceCheckUtils]: 72: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,341 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #88#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,342 INFO L290 TraceCheckUtils]: 74: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9354#(and (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 13:25:10,342 INFO L290 TraceCheckUtils]: 75: Hoare triple {9354#(and (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 13:25:10,343 INFO L290 TraceCheckUtils]: 76: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} assume !false; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 13:25:10,343 INFO L272 TraceCheckUtils]: 77: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,343 INFO L290 TraceCheckUtils]: 78: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,343 INFO L290 TraceCheckUtils]: 79: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,343 INFO L290 TraceCheckUtils]: 80: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,344 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9124#true} {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} #86#return; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 13:25:10,344 INFO L272 TraceCheckUtils]: 82: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,344 INFO L290 TraceCheckUtils]: 83: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,344 INFO L290 TraceCheckUtils]: 84: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,344 INFO L290 TraceCheckUtils]: 85: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,344 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9124#true} {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} #88#return; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 13:25:10,345 INFO L290 TraceCheckUtils]: 87: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 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); {9395#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 13:25:10,346 INFO L290 TraceCheckUtils]: 88: Hoare triple {9395#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} assume !(~r~0 >= ~d~0); {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 13:25:10,346 INFO L290 TraceCheckUtils]: 89: Hoare triple {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} assume !false; {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 13:25:10,346 INFO L272 TraceCheckUtils]: 90: Hoare triple {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,347 INFO L290 TraceCheckUtils]: 91: Hoare triple {9124#true} ~cond := #in~cond; {9409#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:25:10,347 INFO L290 TraceCheckUtils]: 92: Hoare triple {9409#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:25:10,347 INFO L290 TraceCheckUtils]: 93: Hoare triple {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:25:10,348 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} #86#return; {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-08 13:25:10,348 INFO L272 TraceCheckUtils]: 95: Hoare triple {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 13:25:10,348 INFO L290 TraceCheckUtils]: 96: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 13:25:10,348 INFO L290 TraceCheckUtils]: 97: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 13:25:10,348 INFO L290 TraceCheckUtils]: 98: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 13:25:10,349 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9124#true} {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} #88#return; {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-08 13:25:10,349 INFO L290 TraceCheckUtils]: 100: Hoare triple {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} assume !(1 != ~p~0); {9439#(and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= main_~d~0 1))} is VALID [2022-04-08 13:25:10,350 INFO L272 TraceCheckUtils]: 101: Hoare triple {9439#(and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:25:10,350 INFO L290 TraceCheckUtils]: 102: Hoare triple {9443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:25:10,350 INFO L290 TraceCheckUtils]: 103: Hoare triple {9447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9125#false} is VALID [2022-04-08 13:25:10,350 INFO L290 TraceCheckUtils]: 104: Hoare triple {9125#false} assume !false; {9125#false} is VALID [2022-04-08 13:25:10,351 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 68 proven. 32 refuted. 0 times theorem prover too weak. 378 trivial. 0 not checked. [2022-04-08 13:25:10,351 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:25:51,780 WARN L232 SmtUtils]: Spent 5.86s on a formula simplification that was a NOOP. DAG size: 35 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 13:27:29,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:27:29,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [622598722] [2022-04-08 13:27:29,478 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:27:29,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1784165805] [2022-04-08 13:27:29,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1784165805] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 13:27:29,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:27:29,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-08 13:27:29,479 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:27:29,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1007331082] [2022-04-08 13:27:29,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1007331082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:27:29,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:27:29,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 13:27:29,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969973784] [2022-04-08 13:27:29,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:27:29,479 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 13:27:29,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:27:29,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:27:29,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:27:29,542 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 13:27:29,542 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:27:29,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 13:27:29,543 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=403, Unknown=1, NotChecked=0, Total=506 [2022-04-08 13:27:29,543 INFO L87 Difference]: Start difference. First operand 95 states and 101 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:27:32,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:27:32,953 INFO L93 Difference]: Finished difference Result 114 states and 119 transitions. [2022-04-08 13:27:32,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 13:27:32,953 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 13:27:32,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:27:32,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:27:32,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 77 transitions. [2022-04-08 13:27:32,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:27:32,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 77 transitions. [2022-04-08 13:27:32,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 77 transitions. [2022-04-08 13:27:33,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:27:33,034 INFO L225 Difference]: With dead ends: 114 [2022-04-08 13:27:33,034 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 13:27:33,034 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 10.8s TimeCoverageRelationStatistics Valid=128, Invalid=520, Unknown=2, NotChecked=0, Total=650 [2022-04-08 13:27:33,035 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 9 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 426 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 434 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 426 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 13:27:33,035 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 205 Invalid, 434 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 426 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 13:27:33,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 13:27:33,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 13:27:33,035 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:27:33,035 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 13:27:33,035 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 13:27:33,035 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 13:27:33,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:27:33,036 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:27:33,036 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:27:33,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:27:33,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:27:33,036 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 13:27:33,036 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 13:27:33,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:27:33,036 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:27:33,036 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:27:33,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:27:33,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:27:33,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:27:33,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:27:33,036 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 13:27:33,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 13:27:33,036 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 105 [2022-04-08 13:27:33,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:27:33,036 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 13:27:33,037 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:27:33,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 13:27:33,037 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 13:27:33,037 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:27:33,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:27:33,038 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 13:27:33,056 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 13:27:33,241 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,SelfDestructingSolverStorable12 [2022-04-08 13:27:33,243 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 13:27:35,904 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 13:27:35,904 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 13:27:35,904 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 13:27:35,904 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-08 13:27:35,904 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 13:27:35,904 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 13:27:35,904 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-08 13:27:35,905 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L52(lines 52 55) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (* main_~B~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= main_~d~0 2) (<= main_~r~0 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) .cse1 .cse2 (< 0 (div main_~p~0 2)) (<= .cse5 main_~r~0)) (let ((.cse6 (* (- 1) main_~r~0))) (and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 .cse6) main_~B~0) 2)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) .cse2 (<= main_~A~0 (+ .cse5 main_~r~0)) (< 0 (div (+ 2 .cse6) 2)) .cse3 .cse4)))) [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L52-2(lines 22 61) the Hoare annotation is: (let ((.cse8 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse4 (= main_~A~0 main_~r~0)) (.cse1 (* main_~B~0 2)) (.cse5 (= main_~q~0 0)) (.cse0 (<= 0 .cse8)) (.cse3 (= main_~B~0 1)) (.cse6 (= main_~B~0 main_~d~0)) (.cse7 (= main_~p~0 1))) (or (let ((.cse2 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) .cse0 (<= .cse1 .cse2) (<= .cse2 2) (= main_~d~0 2) .cse3 (<= main_~A~0 .cse2) (< 0 (div main_~p~0 2)))) (and .cse4 .cse5 .cse3 .cse6 .cse7) (and .cse4 (<= main_~r~0 2) .cse5 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse1 main_~r~0)) (and .cse4 (= .cse1 main_~d~0) (= main_~p~0 2) .cse5 .cse3) (and .cse3 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse6 .cse7) (and .cse0 (<= 0 main_~A~0) (<= 0 main_~r~0) (<= main_~A~0 2) (< .cse8 2) (not (<= main_~d~0 main_~r~0)) .cse3 .cse6 .cse7)))) [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L46(lines 44 56) the Hoare annotation is: (let ((.cse3 (= main_~A~0 main_~r~0)) (.cse0 (* main_~B~0 2)) (.cse4 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (= main_~B~0 main_~d~0)) (.cse6 (= main_~p~0 1))) (or (let ((.cse1 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (<= .cse0 .cse1) (<= .cse1 2) (= main_~d~0 2) .cse2 (<= main_~A~0 .cse1) (< 0 (div main_~p~0 2)))) (and .cse3 .cse4 .cse2 .cse5 .cse6) (and .cse3 (<= main_~r~0 2) .cse4 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse0 main_~r~0)) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse2 (<= main_~A~0 (+ .cse0 main_~r~0)) .cse5 .cse6) (and .cse3 (= .cse0 main_~d~0) (= main_~p~0 2) .cse4 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse5 .cse6))) [2022-04-08 13:27:35,905 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~B~0 1)) (.cse1 (= main_~B~0 main_~d~0)) (.cse2 (= main_~p~0 1))) (or (and (= main_~A~0 main_~r~0) (= main_~q~0 0) .cse0 .cse1 .cse2) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse0 (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) .cse1 .cse2) (and (= (+ main_~d~0 main_~r~0) main_~A~0) .cse0 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse1 .cse2))) [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 13:27:35,905 INFO L878 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 13:27:35,905 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-08 13:27:35,905 INFO L885 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-08 13:27:35,905 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 2)) [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse8 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse4 (= main_~A~0 main_~r~0)) (.cse1 (* main_~B~0 2)) (.cse5 (= main_~q~0 0)) (.cse0 (<= 0 .cse8)) (.cse3 (= main_~B~0 1)) (.cse6 (= main_~B~0 main_~d~0)) (.cse7 (= main_~p~0 1))) (or (let ((.cse2 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) .cse0 (<= .cse1 .cse2) (<= .cse2 2) (= main_~d~0 2) .cse3 (<= main_~A~0 .cse2) (< 0 (div main_~p~0 2)))) (and .cse4 .cse5 .cse3 .cse6 .cse7) (and .cse4 (<= main_~r~0 2) .cse5 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse1 main_~r~0)) (and .cse4 (= .cse1 main_~d~0) (= main_~p~0 2) .cse5 .cse3) (and .cse3 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse6 .cse7) (and .cse0 (<= 0 main_~A~0) (<= 0 main_~r~0) (<= main_~A~0 2) (< .cse8 2) (not (<= main_~d~0 main_~r~0)) .cse3 .cse6 .cse7)))) [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse3 (= main_~A~0 main_~r~0)) (.cse0 (* main_~B~0 2)) (.cse4 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (= main_~B~0 main_~d~0)) (.cse6 (= main_~p~0 1))) (or (let ((.cse1 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (<= .cse0 .cse1) (<= .cse1 2) (= main_~d~0 2) .cse2 (<= main_~A~0 .cse1) (< 0 (div main_~p~0 2)))) (and .cse3 .cse4 .cse2 .cse5 .cse6) (and .cse3 (<= main_~r~0 2) .cse4 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse0 main_~r~0)) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse2 (<= main_~A~0 (+ .cse0 main_~r~0)) .cse5 .cse6) (and .cse3 (= .cse0 main_~d~0) (= main_~p~0 2) .cse4 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse5 .cse6))) [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L37(lines 34 42) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 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 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:27:35,906 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 13:27:35,906 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 13:27:35,906 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 13:27:35,907 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 13:27:35,907 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 13:27:35,907 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 13:27:35,909 INFO L719 BasicCegarLoop]: Path program histogram: [10, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 13:27:35,910 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 13:27:35,912 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 13:27:35,914 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 13:27:35,971 INFO L163 areAnnotationChecker]: CFG has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 13:27:35,980 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 01:27:35 BoogieIcfgContainer [2022-04-08 13:27:35,980 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 13:27:35,981 INFO L158 Benchmark]: Toolchain (without parser) took 324057.69ms. Allocated memory was 185.6MB in the beginning and 277.9MB in the end (delta: 92.3MB). Free memory was 135.9MB in the beginning and 246.1MB in the end (delta: -110.2MB). Peak memory consumption was 140.8MB. Max. memory is 8.0GB. [2022-04-08 13:27:35,981 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 185.6MB. Free memory was 152.1MB in the beginning and 151.9MB in the end (delta: 151.8kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 13:27:35,982 INFO L158 Benchmark]: CACSL2BoogieTranslator took 205.97ms. Allocated memory is still 185.6MB. Free memory was 135.6MB in the beginning and 161.2MB in the end (delta: -25.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 13:27:35,982 INFO L158 Benchmark]: Boogie Preprocessor took 33.23ms. Allocated memory is still 185.6MB. Free memory was 161.2MB in the beginning and 159.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 13:27:35,982 INFO L158 Benchmark]: RCFGBuilder took 225.92ms. Allocated memory is still 185.6MB. Free memory was 159.5MB in the beginning and 148.4MB in the end (delta: 11.1MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-08 13:27:35,982 INFO L158 Benchmark]: TraceAbstraction took 323588.95ms. Allocated memory was 185.6MB in the beginning and 277.9MB in the end (delta: 92.3MB). Free memory was 147.6MB in the beginning and 246.1MB in the end (delta: -98.5MB). Peak memory consumption was 152.4MB. Max. memory is 8.0GB. [2022-04-08 13:27:35,983 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 185.6MB. Free memory was 152.1MB in the beginning and 151.9MB in the end (delta: 151.8kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 205.97ms. Allocated memory is still 185.6MB. Free memory was 135.6MB in the beginning and 161.2MB in the end (delta: -25.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.23ms. Allocated memory is still 185.6MB. Free memory was 161.2MB in the beginning and 159.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 225.92ms. Allocated memory is still 185.6MB. Free memory was 159.5MB in the beginning and 148.4MB in the end (delta: 11.1MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * TraceAbstraction took 323588.95ms. Allocated memory was 185.6MB in the beginning and 277.9MB in the end (delta: 92.3MB). Free memory was 147.6MB in the beginning and 246.1MB in the end (delta: -98.5MB). Peak memory consumption was 152.4MB. 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, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 323.5s, OverallIterations: 13, TraceHistogramMax: 16, PathProgramHistogramMax: 10, EmptinessCheckTime: 0.0s, AutomataDifference: 11.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 2.7s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 278 SdHoareTripleChecker+Valid, 2.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 227 mSDsluCounter, 1774 SdHoareTripleChecker+Invalid, 2.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1272 mSDsCounter, 217 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2067 IncrementalHoareTripleChecker+Invalid, 2284 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 217 mSolverCounterUnsat, 502 mSDtfsCounter, 2067 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1195 GetRequests, 1051 SyntacticMatches, 14 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 27.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=130occurred in iteration=11, InterpolantAutomatonStates: 94, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 13 MinimizatonAttempts, 30 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 35 LocationsWithAnnotation, 575 PreInvPairs, 763 NumberOfFragments, 1306 HoareAnnotationTreeSize, 575 FomulaSimplifications, 671 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 35 FomulaSimplificationsInter, 1907 FormulaSimplificationTreeSizeReductionInter, 2.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((((A == r && r <= 2) && q == 0) && B == 1) && d == B * 4) && p == 4) && B * 2 <= r) || ((((((0 <= A && A == r) && p == 2) && d == 2) && r <= 2) && q == 0) && B == 1)) || ((((((0 <= A && A == r) && r <= 2) && q == 0) && B == 1) && B == d) && p == 1) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 13:27:36,044 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...