/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_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 13:19:46,543 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 13:19:46,577 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 13:19:46,612 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 13:19:46,612 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 13:19:46,613 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 13:19:46,615 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 13:19:46,617 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 13:19:46,618 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 13:19:46,621 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 13:19:46,622 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 13:19:46,623 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 13:19:46,623 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 13:19:46,624 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 13:19:46,625 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 13:19:46,627 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 13:19:46,627 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 13:19:46,629 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 13:19:46,630 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 13:19:46,634 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 13:19:46,635 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 13:19:46,636 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 13:19:46,636 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 13:19:46,637 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 13:19:46,638 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 13:19:46,642 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 13:19:46,642 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 13:19:46,643 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 13:19:46,643 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 13:19:46,643 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 13:19:46,644 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 13:19:46,644 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 13:19:46,646 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 13:19:46,646 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 13:19:46,646 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 13:19:46,647 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 13:19:46,647 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 13:19:46,647 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 13:19:46,648 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 13:19:46,648 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 13:19:46,648 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 13:19:46,649 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 13:19:46,650 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:19:46,657 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 13:19:46,658 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 13:19:46,659 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 13:19:46,659 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 13:19:46,660 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:19:46,660 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 13:19:46,660 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 13:19:46,661 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 13:19:46,661 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 13:19:46,661 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:19:46,851 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 13:19:46,869 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 13:19:46,870 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 13:19:46,871 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 13:19:46,871 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 13:19:46,872 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-08 13:19:46,911 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f86e0242e/855c020b4d3b4806bfad11af26585fdd/FLAGed96c3e1e [2022-04-08 13:19:47,269 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 13:19:47,270 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-08 13:19:47,274 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f86e0242e/855c020b4d3b4806bfad11af26585fdd/FLAGed96c3e1e [2022-04-08 13:19:47,286 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f86e0242e/855c020b4d3b4806bfad11af26585fdd [2022-04-08 13:19:47,288 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 13:19:47,289 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 13:19:47,291 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 13:19:47,291 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 13:19:47,296 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 13:19:47,296 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,297 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1f8198ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47, skipping insertion in model container [2022-04-08 13:19:47,297 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,303 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 13:19:47,313 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 13:19:47,417 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_valuebound1.c[526,539] [2022-04-08 13:19:47,439 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:19:47,444 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 13:19:47,451 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_valuebound1.c[526,539] [2022-04-08 13:19:47,455 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:19:47,463 INFO L208 MainTranslator]: Completed translation [2022-04-08 13:19:47,463 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47 WrapperNode [2022-04-08 13:19:47,464 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 13:19:47,464 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 13:19:47,464 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 13:19:47,464 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 13:19:47,472 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,472 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,478 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,478 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,491 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,496 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,501 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,502 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 13:19:47,502 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 13:19:47,502 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 13:19:47,502 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 13:19:47,503 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (1/1) ... [2022-04-08 13:19:47,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:19:47,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:19:47,524 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:19:47,531 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:19:47,557 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 13:19:47,557 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 13:19:47,557 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 13:19:47,557 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 13:19:47,557 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 13:19:47,558 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 13:19:47,558 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 13:19:47,559 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 13:19:47,559 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 13:19:47,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 13:19:47,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 13:19:47,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 13:19:47,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 13:19:47,560 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 13:19:47,561 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 13:19:47,599 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 13:19:47,600 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 13:19:47,762 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 13:19:47,767 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 13:19:47,767 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 13:19:47,768 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:19:47 BoogieIcfgContainer [2022-04-08 13:19:47,768 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 13:19:47,769 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 13:19:47,769 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 13:19:47,780 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 13:19:47,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 01:19:47" (1/3) ... [2022-04-08 13:19:47,781 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a3ef3fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:19:47, skipping insertion in model container [2022-04-08 13:19:47,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:19:47" (2/3) ... [2022-04-08 13:19:47,782 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a3ef3fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:19:47, skipping insertion in model container [2022-04-08 13:19:47,782 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:19:47" (3/3) ... [2022-04-08 13:19:47,783 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound1.c [2022-04-08 13:19:47,786 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 13:19:47,786 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 13:19:47,847 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 13:19:47,866 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:19:47,866 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 13:19:47,883 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:19:47,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 13:19:47,899 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:47,899 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:19:47,900 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:47,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:47,903 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 13:19:47,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:47,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1998843304] [2022-04-08 13:19:47,919 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:19:47,920 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 13:19:47,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:47,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1680201403] [2022-04-08 13:19:47,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:47,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:48,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:19:48,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,086 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:19:48,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 13:19:48,087 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 13:19:48,087 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:19:48,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 13:19:48,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 13:19:48,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 13:19:48,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 13:19:48,095 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:19:48,095 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:19:48,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 13:19:48,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 13:19:48,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-08 13:19:48,096 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:19:48,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 13:19:48,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 13:19:48,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 13:19:48,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 13:19:48,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 13:19:48,097 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:19:48,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 13:19:48,097 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:19:48,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 13:19:48,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 13:19:48,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 13:19:48,098 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:19:48,098 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:48,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1680201403] [2022-04-08 13:19:48,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1680201403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:48,099 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:48,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:19:48,101 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:48,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1998843304] [2022-04-08 13:19:48,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1998843304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:48,101 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:48,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:19:48,102 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1353805938] [2022-04-08 13:19:48,102 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:48,105 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:19:48,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:48,108 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:19:48,125 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:19:48,125 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 13:19:48,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:48,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 13:19:48,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:19:48,143 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:19:48,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:48,288 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 13:19:48,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 13:19:48,288 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:19:48,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:48,290 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:19:48,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 13:19:48,297 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:19:48,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 13:19:48,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 13:19:48,385 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:19:48,391 INFO L225 Difference]: With dead ends: 61 [2022-04-08 13:19:48,391 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 13:19:48,393 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:19:48,395 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:19:48,396 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:19:48,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 13:19:48,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 13:19:48,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:48,416 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:19:48,416 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:19:48,416 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:19:48,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:48,420 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 13:19:48,420 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:19:48,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:48,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:48,421 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:19:48,421 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:19:48,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:48,425 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 13:19:48,426 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:19:48,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:48,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:48,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:48,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:48,427 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:19:48,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 13:19:48,429 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 13:19:48,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:48,430 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 13:19:48,430 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:19:48,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 13:19:48,468 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:19:48,468 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 13:19:48,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 13:19:48,469 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:48,469 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:19:48,469 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 13:19:48,469 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:48,470 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:48,471 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 13:19:48,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:48,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [490957823] [2022-04-08 13:19:48,478 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:19:48,478 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 13:19:48,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:48,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2035840345] [2022-04-08 13:19:48,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:48,479 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:48,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,570 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:19:48,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,589 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:19:48,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:19:48,590 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 13:19:48,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:19:48,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:48,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 13:19:48,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 13:19:48,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:19:48,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 13:19:48,605 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:19:48,605 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:19:48,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:19:48,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 13:19:48,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-08 13:19:48,606 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:19:48,606 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {292#true} is VALID [2022-04-08 13:19:48,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 13:19:48,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 13:19:48,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 13:19:48,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 13:19:48,607 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:19:48,607 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 13:19:48,609 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:19:48,609 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:19:48,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 13:19:48,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 13:19:48,610 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:19:48,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:48,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2035840345] [2022-04-08 13:19:48,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2035840345] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:48,610 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:48,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:19:48,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:48,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [490957823] [2022-04-08 13:19:48,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [490957823] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:48,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:48,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:19:48,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1738559261] [2022-04-08 13:19:48,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:48,612 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:19:48,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:48,612 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:19:48,624 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:19:48,624 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:19:48,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:48,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:19:48,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 13:19:48,626 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:19:48,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:48,953 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 13:19:48,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:19:48,953 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:19:48,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:48,954 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:19:48,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:19:48,956 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:19:48,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:19:48,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 13:19:49,011 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:19:49,013 INFO L225 Difference]: With dead ends: 43 [2022-04-08 13:19:49,013 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 13:19:49,013 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:19:49,014 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:19:49,015 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:19:49,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 13:19:49,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 13:19:49,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:49,020 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:19:49,020 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:19:49,021 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:19:49,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:49,023 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 13:19:49,023 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 13:19:49,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:49,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:49,024 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:19:49,024 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:19:49,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:49,026 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 13:19:49,026 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 13:19:49,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:49,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:49,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:49,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:49,028 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:19:49,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 13:19:49,029 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 13:19:49,029 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:49,029 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 13:19:49,029 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:19:49,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 13:19:49,064 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:19:49,064 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 13:19:49,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 13:19:49,065 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:49,065 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:19:49,065 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 13:19:49,065 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:49,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:49,066 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 13:19:49,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:49,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [826296552] [2022-04-08 13:19:49,066 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:19:49,066 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 13:19:49,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:49,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [246269774] [2022-04-08 13:19:49,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:49,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:49,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:49,117 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:19:49,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:49,128 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:19:49,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,129 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 13:19:49,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:19:49,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:49,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:19:49,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:19:49,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 13:19:49,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 13:19:49,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:49,144 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:19:49,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:19:49,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,145 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:19:49,145 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:19:49,146 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:19:49,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 13:19:49,146 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-08 13:19:49,146 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:19:49,146 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {551#true} is VALID [2022-04-08 13:19:49,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:19:49,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:19:49,147 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,147 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 13:19:49,147 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:19:49,148 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:19:49,148 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:19:49,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 13:19:49,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 13:19:49,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 13:19:49,149 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:19:49,149 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:19:49,150 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:19:49,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 13:19:49,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 13:19:49,151 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:19:49,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:49,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [246269774] [2022-04-08 13:19:49,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [246269774] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:49,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:49,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:19:49,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:49,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [826296552] [2022-04-08 13:19:49,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [826296552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:49,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:49,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:19:49,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [780980186] [2022-04-08 13:19:49,152 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:49,153 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:19:49,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:49,153 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:19:49,167 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:19:49,167 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:19:49,167 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:49,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:19:49,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 13:19:49,168 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:19:49,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:49,453 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 13:19:49,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:19:49,453 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:19:49,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:49,454 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:19:49,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:19:49,455 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:19:49,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 13:19:49,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 13:19:49,507 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:19:49,510 INFO L225 Difference]: With dead ends: 47 [2022-04-08 13:19:49,511 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 13:19:49,511 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:19:49,514 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:19:49,517 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:19:49,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 13:19:49,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 13:19:49,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:49,529 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:19:49,530 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:19:49,531 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:19:49,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:49,534 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 13:19:49,534 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 13:19:49,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:49,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:49,535 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:19:49,535 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:19:49,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:49,538 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 13:19:49,538 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 13:19:49,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:49,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:49,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:49,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:49,541 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:19:49,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 13:19:49,542 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 13:19:49,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:49,542 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 13:19:49,542 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:19:49,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 13:19:49,577 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:19:49,577 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 13:19:49,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 13:19:49,578 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:49,578 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:19:49,578 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 13:19:49,580 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:49,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:49,580 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 13:19:49,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:49,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2110582601] [2022-04-08 13:19:49,583 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:19:49,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 13:19:49,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:49,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785553641] [2022-04-08 13:19:49,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:49,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:49,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:19:49,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1314702480] [2022-04-08 13:19:49,602 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:19:49,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:19:49,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:19:49,603 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:19:49,619 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:19:49,640 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:19:49,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:19:49,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 13:19:49,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:49,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:19:49,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 13:19:49,856 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:19:49,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:19:49,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 13:19:49,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-08 13:19:49,857 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:19:49,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {838#true} is VALID [2022-04-08 13:19:49,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:19:49,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:19:49,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:19:49,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 13:19:49,858 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:19:49,858 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:19:49,859 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:19:49,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:19:49,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:19:49,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:19:49,860 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:19:49,860 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:19:49,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 13:19:49,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 13:19:49,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 13:19:49,862 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:19:49,863 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:19:49,863 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:19:49,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 13:19:49,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 13:19:49,864 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:19:49,864 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:19:49,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:49,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785553641] [2022-04-08 13:19:49,864 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:19:49,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1314702480] [2022-04-08 13:19:49,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1314702480] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:49,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:49,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:19:49,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:49,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2110582601] [2022-04-08 13:19:49,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2110582601] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:49,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:49,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:19:49,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [703926779] [2022-04-08 13:19:49,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:49,866 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:19:49,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:49,866 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:19:49,894 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:19:49,895 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:19:49,895 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:49,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:19:49,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:19:49,895 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:19:50,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,039 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 13:19:50,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:19:50,039 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:19:50,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:50,040 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:19:50,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 13:19:50,046 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:19:50,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 13:19:50,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 13:19:50,169 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:19:50,170 INFO L225 Difference]: With dead ends: 66 [2022-04-08 13:19:50,171 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 13:19:50,171 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:19:50,171 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:19:50,172 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:19:50,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 13:19:50,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 13:19:50,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:50,180 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:19:50,180 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:19:50,180 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:19:50,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,182 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 13:19:50,182 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:19:50,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:50,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:50,183 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:19:50,183 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:19:50,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,184 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 13:19:50,184 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:19:50,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:50,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:50,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:50,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:50,185 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:19:50,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 13:19:50,186 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 13:19:50,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:50,186 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 13:19:50,187 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:19:50,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 13:19:50,246 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:19:50,246 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 13:19:50,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 13:19:50,246 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:50,246 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:19:50,271 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:19:50,447 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:19:50,447 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:50,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:50,448 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 13:19:50,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:50,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [586590539] [2022-04-08 13:19:50,448 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:19:50,448 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 13:19:50,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:50,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1765770655] [2022-04-08 13:19:50,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:50,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:50,457 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:19:50,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1852452053] [2022-04-08 13:19:50,457 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:19:50,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:19:50,458 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:19:50,458 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:19:50,460 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:19:50,491 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:19:50,491 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:19:50,492 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 13:19:50,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:50,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:19:50,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 13:19:50,617 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:19:50,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:19:50,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 13:19:50,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-08 13:19:50,618 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:19:50,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1265#true} is VALID [2022-04-08 13:19:50,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:19:50,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:19:50,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:19:50,618 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 13:19:50,618 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:19:50,619 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:19:50,619 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:19:50,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:19:50,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:19:50,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:19:50,620 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:19:50,620 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:19:50,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:19:50,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:19:50,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:19:50,621 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:19:50,621 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:19:50,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 13:19:50,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 13:19:50,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 13:19:50,621 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:19:50,622 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:19:50,622 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:19:50,623 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:19:50,623 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:19:50,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 13:19:50,624 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 13:19:50,624 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:19:50,624 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:19:50,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:50,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1765770655] [2022-04-08 13:19:50,624 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:19:50,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1852452053] [2022-04-08 13:19:50,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1852452053] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:50,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:50,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:19:50,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:50,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [586590539] [2022-04-08 13:19:50,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [586590539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:50,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:50,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:19:50,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [326818720] [2022-04-08 13:19:50,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:50,625 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:19:50,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:50,626 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:19:50,641 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:19:50,641 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:19:50,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:50,641 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:19:50,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:19:50,643 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:19:50,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,777 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 13:19:50,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:19:50,777 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:19:50,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:50,778 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:19:50,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 13:19:50,780 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:19:50,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 13:19:50,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 13:19:50,814 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:19:50,817 INFO L225 Difference]: With dead ends: 65 [2022-04-08 13:19:50,817 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 13:19:50,818 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:19:50,818 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:19:50,819 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:19:50,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 13:19:50,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 13:19:50,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:50,847 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:19:50,848 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:19:50,850 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:19:50,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,852 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 13:19:50,852 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 13:19:50,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:50,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:50,854 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:19:50,854 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:19:50,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:50,856 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 13:19:50,856 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 13:19:50,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:50,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:50,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:50,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:50,857 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:19:50,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 13:19:50,858 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 13:19:50,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:50,858 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 13:19:50,859 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:19:50,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 13:19:50,924 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:19:50,924 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 13:19:50,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 13:19:50,925 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:50,925 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:19:50,951 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:19:51,139 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:19:51,140 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:51,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:51,140 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 13:19:51,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:51,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1967418986] [2022-04-08 13:19:53,509 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:19:53,509 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:19:53,509 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 13:19:53,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:53,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [344088702] [2022-04-08 13:19:53,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:53,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:53,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:19:53,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1164579694] [2022-04-08 13:19:53,527 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:19:53,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:19:53,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:19:53,536 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:19:53,537 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:19:53,575 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:19:53,575 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:19:53,576 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 13:19:53,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:53,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:19:53,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 13:19:53,772 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:19:53,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 13:19:53,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 13:19:53,772 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:19:53,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:19:53,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 13:19:53,773 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:19:53,773 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:19:53,773 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:19:53,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,774 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:19:53,774 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:19:53,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,775 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:19:53,775 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:19:53,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,776 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:19:53,776 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:19:53,777 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:19:53,777 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:19:53,777 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,777 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,778 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:19:53,778 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:19:53,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,780 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:19:53,781 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:19:53,781 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:19:53,783 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 13:19:53,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 13:19:53,784 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:19:53,784 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:19:53,930 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 13:19:53,930 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 13:19:53,931 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:19:53,931 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:19:53,932 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:19:53,932 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,932 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,932 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:19:53,933 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:19:53,933 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,933 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,933 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,933 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:19:53,934 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:19:53,936 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:19:53,936 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:19:53,936 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,936 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,936 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:19:53,937 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:19:53,937 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,937 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,937 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:19:53,938 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:19:53,938 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,938 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,938 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:19:53,938 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:19:53,939 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:19:53,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 13:19:53,939 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:19:53,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 13:19:53,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 13:19:53,939 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:19:53,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 13:19:53,940 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:19:53,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:19:53,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [344088702] [2022-04-08 13:19:53,940 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:19:53,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1164579694] [2022-04-08 13:19:53,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1164579694] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 13:19:53,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:19:53,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 13:19:53,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:19:53,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1967418986] [2022-04-08 13:19:53,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1967418986] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:19:53,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:19:53,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:19:53,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653809482] [2022-04-08 13:19:53,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:19:53,941 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:19:53,941 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:19:53,941 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:19:53,964 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:19:53,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:19:53,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:53,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:19:53,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 13:19:53,965 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:19:56,074 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 13:19:56,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:56,110 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 13:19:56,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:19:56,111 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:19:56,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:19:56,111 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:19:56,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:19:56,112 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:19:56,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:19:56,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 13:19:56,149 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:19:56,150 INFO L225 Difference]: With dead ends: 69 [2022-04-08 13:19:56,150 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 13:19:56,151 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:19:56,152 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:19:56,152 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 43 Invalid, 1 Unknown, 0 Unchecked, 2.0s Time] [2022-04-08 13:19:56,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 13:19:56,174 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 13:19:56,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:19:56,174 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:19:56,175 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:19:56,175 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:19:56,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:56,177 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 13:19:56,177 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 13:19:56,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:56,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:56,177 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:19:56,177 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:19:56,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:19:56,179 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 13:19:56,179 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 13:19:56,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:19:56,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:19:56,180 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:19:56,180 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:19:56,180 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:19:56,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 13:19:56,181 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 13:19:56,182 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:19:56,182 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 13:19:56,182 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:19:56,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 13:19:56,254 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:19:56,255 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 13:19:56,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 13:19:56,255 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:19:56,255 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:19:56,271 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:19:56,456 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:19:56,456 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:19:56,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:19:56,456 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 13:19:56,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:19:56,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1244043887] [2022-04-08 13:19:58,590 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:19:58,590 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:19:58,590 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 13:19:58,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:19:58,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971780925] [2022-04-08 13:19:58,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:19:58,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:19:58,600 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:19:58,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [351906895] [2022-04-08 13:19:58,601 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:19:58,601 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:19:58,601 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:19:58,608 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:19:58,609 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:19:58,654 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:19:58,655 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:19:58,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 13:19:58,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:19:58,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:19:59,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 13:19:59,106 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:19:59,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 13:19:59,106 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:19:59,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 13:19:59,107 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:19:59,107 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:19:59,107 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:19:59,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,108 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:19:59,108 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:19:59,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,109 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:19:59,109 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:19:59,109 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,109 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,109 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,110 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:19:59,110 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:19:59,110 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:19:59,111 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:19:59,111 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,111 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,111 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,111 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:19:59,111 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:19:59,112 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,112 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,112 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,112 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:19:59,112 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:19:59,112 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,112 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,113 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,113 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:19:59,113 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:19:59,114 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:19:59,114 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:19:59,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,114 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,115 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:19:59,115 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:19:59,115 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:19:59,115 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:19:59,116 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:19:59,116 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:19:59,117 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:19:59,117 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:19:59,118 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:19:59,118 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:19:59,119 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:19:59,119 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 13:19:59,119 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 13:19:59,119 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:19:59,119 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:20:06,434 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 13:20:06,436 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 13:20:06,436 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:20:06,437 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:20:06,437 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:20:06,452 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:20:06,475 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:20:06,475 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:20:06,475 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,476 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,476 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,476 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:20:06,477 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:20:06,477 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,477 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,477 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,477 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:20:06,478 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:20:06,479 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:20:06,480 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:20:06,480 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,480 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,480 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:20:06,481 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:20:06,481 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,481 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,481 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:20:06,481 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:20:06,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,482 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:20:06,485 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:20:06,491 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:20:06,491 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:20:06,491 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,492 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:20:06,492 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:20:06,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,492 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:20:06,496 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:20:06,497 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,497 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,497 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:20:06,497 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:20:06,498 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:20:06,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2405#true} is VALID [2022-04-08 13:20:06,498 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:20:06,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 13:20:06,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 13:20:06,498 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:20:06,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 13:20:06,499 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:20:06,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:20:06,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971780925] [2022-04-08 13:20:06,499 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:20:06,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [351906895] [2022-04-08 13:20:06,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [351906895] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:20:06,499 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:20:06,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 13:20:06,500 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:20:06,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1244043887] [2022-04-08 13:20:06,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1244043887] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:20:06,500 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:20:06,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:20:06,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [478180091] [2022-04-08 13:20:06,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:20:06,500 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:20:06,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:20:06,501 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:20:06,533 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:20:06,534 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:20:06,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:06,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:20:06,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:20:06,534 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:20:07,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:07,050 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-08 13:20:07,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:20:07,051 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:20:07,051 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:20:07,051 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:20:07,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 13:20:07,053 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:20:07,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 13:20:07,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-08 13:20:07,155 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:20:07,157 INFO L225 Difference]: With dead ends: 130 [2022-04-08 13:20:07,158 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 13:20:07,159 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:20:07,159 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:20:07,159 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:20:07,160 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 13:20:07,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 13:20:07,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:20:07,201 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:20:07,201 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:20:07,202 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:20:07,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:07,205 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 13:20:07,205 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 13:20:07,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:07,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:07,205 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:20:07,206 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:20:07,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:07,209 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 13:20:07,209 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 13:20:07,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:07,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:07,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:20:07,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:20:07,209 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:20:07,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 13:20:07,212 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 13:20:07,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:20:07,212 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 13:20:07,212 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:20:07,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 13:20:07,322 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:20:07,323 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 13:20:07,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 13:20:07,323 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:20:07,323 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:20:07,340 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 13:20:07,523 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:20:07,524 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:20:07,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:20:07,524 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 13:20:07,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:07,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1029168459] [2022-04-08 13:20:09,686 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:20:09,686 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:20:09,686 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 13:20:09,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:20:09,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [206641512] [2022-04-08 13:20:09,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:20:09,686 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:20:09,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:20:09,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [861533086] [2022-04-08 13:20:09,695 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:20:09,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:20:09,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:20:09,696 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:20:09,697 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:20:09,733 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:20:09,733 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:20:09,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 13:20:09,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:20:09,754 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:20:10,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 13:20:10,042 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:20:10,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 13:20:10,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 13:20:10,042 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:20:10,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:20:10,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 13:20:10,043 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:20:10,043 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:20:10,044 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:20:10,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,049 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:20:10,049 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:20:10,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,051 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:20:10,051 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:20:10,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,054 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,055 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:20:10,055 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:20:10,056 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:20:10,057 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:20:10,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,057 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:20:10,057 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:20:10,057 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,058 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,061 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:20:10,061 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:20:10,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,061 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:20:10,062 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:20:10,062 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:20:10,062 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:20:10,062 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,062 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,062 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,063 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:20:10,063 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:20:10,063 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,063 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,063 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,063 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:20:10,064 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:20:10,064 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:20:10,065 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:20:10,065 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:20:10,065 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:10,065 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:10,065 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:10,065 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:20:10,066 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:20:10,066 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:20:10,066 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 13:20:10,066 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 13:20:10,067 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:20:10,067 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:20:17,955 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 13:20:17,955 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 13:20:17,956 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:20:17,956 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:20:17,957 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:20:17,957 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,957 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,957 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,957 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:20:17,957 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:20:17,958 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:20:17,970 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:20:17,971 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:20:17,971 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,971 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,971 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:20:17,972 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:20:17,972 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,972 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,972 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,972 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:20:17,973 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:20:17,974 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:20:17,974 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:20:17,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,974 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,974 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,974 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:20:17,975 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:20:17,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,975 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:20:17,975 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:20:17,976 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,976 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:20:17,977 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:20:17,981 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:20:17,981 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:20:17,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,982 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,982 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:20:17,982 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:20:17,982 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,982 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,982 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,982 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:20:17,983 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:20:17,983 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,983 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,983 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:20:17,984 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:20:17,984 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:20:17,984 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3460#true} is VALID [2022-04-08 13:20:17,984 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:20:17,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 13:20:17,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 13:20:17,984 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:20:17,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 13:20:17,985 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:20:17,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:20:17,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [206641512] [2022-04-08 13:20:17,985 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:20:17,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [861533086] [2022-04-08 13:20:17,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [861533086] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:20:17,985 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:20:17,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 13:20:17,985 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:20:17,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1029168459] [2022-04-08 13:20:17,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1029168459] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:20:17,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:20:17,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 13:20:17,986 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1691058446] [2022-04-08 13:20:17,986 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:20:17,986 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:20:17,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:20:17,986 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:20:18,017 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:20:18,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 13:20:18,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:18,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 13:20:18,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 13:20:18,018 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:20:18,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:18,288 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 13:20:18,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 13:20:18,288 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:20:18,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:20:18,288 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:20:18,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 13:20:18,290 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:20:18,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 13:20:18,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-08 13:20:18,359 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:20:18,361 INFO L225 Difference]: With dead ends: 126 [2022-04-08 13:20:18,361 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 13:20:18,361 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:20:18,361 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:20:18,362 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:20:18,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 13:20:18,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 13:20:18,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:20:18,412 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:20:18,412 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:20:18,412 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:20:18,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:18,414 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 13:20:18,415 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:20:18,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:18,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:18,415 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:20:18,415 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:20:18,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:18,417 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 13:20:18,417 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:20:18,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:18,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:18,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:20:18,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:20:18,418 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:20:18,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 13:20:18,420 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 13:20:18,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:20:18,421 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 13:20:18,421 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:20:18,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 13:20:18,520 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:20:18,520 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 13:20:18,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 13:20:18,521 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:20:18,521 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:20:18,537 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:20:18,721 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:20:18,722 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:20:18,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:20:18,722 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 13:20:18,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:18,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [867604270] [2022-04-08 13:20:20,877 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:20:20,878 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:20:20,878 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 13:20:20,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:20:20,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1308348401] [2022-04-08 13:20:20,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:20:20,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:20:20,888 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:20:20,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1470817474] [2022-04-08 13:20:20,888 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:20:20,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:20:20,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:20:20,889 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:20:20,890 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:20:20,929 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:20:20,929 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:20:20,931 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 13:20:20,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:20:20,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:20:21,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 13:20:21,461 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:20:21,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 13:20:21,461 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:20:21,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 13:20:21,462 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:20:21,462 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:20:21,462 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:20:21,462 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,463 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:20:21,463 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:20:21,464 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:20:21,464 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:20:21,464 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:20:21,465 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:20:21,465 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:20:21,465 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,465 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,466 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:20:21,466 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:20:21,467 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:20:21,467 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:20:21,467 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,467 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,467 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:20:21,468 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:20:21,468 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,468 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:20:21,468 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:20:21,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,468 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,469 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,469 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:20:21,469 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:20:21,470 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:20:21,470 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:20:21,470 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,470 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,470 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,471 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:20:21,471 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:20:21,471 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:21,471 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:21,471 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:21,471 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:20:21,472 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:20:21,472 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:20:21,473 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:20:21,473 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:20:21,473 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:20:21,473 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:20:21,474 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:20:21,475 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:20:21,475 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:20:21,475 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:20:21,475 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:20:21,476 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:20:21,476 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:20:21,477 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:20:21,477 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:20:21,478 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:20:21,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 13:20:21,478 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 13:20:21,478 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:20:21,479 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:20:29,502 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 13:20:29,502 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 13:20:29,503 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:20:29,503 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:20:29,504 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:20:29,504 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:20:29,505 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:20:29,505 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:20:29,505 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:20:29,505 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:20:29,507 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:20:29,507 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:20:29,508 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:20:29,508 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:20:29,508 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:20:29,508 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:20:29,508 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:20:29,508 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:20:29,508 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-08 13:20:29,508 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,509 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:20:29,509 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,509 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:20:29,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,509 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:20:29,509 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,509 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,510 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:20:29,510 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,510 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:20:29,510 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:20:29,510 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:20:29,510 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,510 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:20:29,510 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,511 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:20:29,511 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,511 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:20:29,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 13:20:29,511 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:20:29,511 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4547#true} is VALID [2022-04-08 13:20:29,511 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:20:29,511 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 13:20:29,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 13:20:29,511 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:20:29,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 13:20:29,512 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:20:29,512 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:20:29,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1308348401] [2022-04-08 13:20:29,512 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:20:29,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1470817474] [2022-04-08 13:20:29,512 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1470817474] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:20:29,512 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:20:29,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 13:20:29,512 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:20:29,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [867604270] [2022-04-08 13:20:29,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [867604270] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:20:29,513 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:20:29,513 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 13:20:29,513 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2134829168] [2022-04-08 13:20:29,513 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:20:29,513 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:20:29,513 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:20:29,513 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:20:29,551 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:20:29,551 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 13:20:29,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:29,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 13:20:29,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 13:20:29,552 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:20:30,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:30,311 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-08 13:20:30,311 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:20:30,311 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:20:30,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:20:30,311 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:20:30,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 13:20:30,313 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:20:30,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 13:20:30,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-08 13:20:30,383 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:20:30,384 INFO L225 Difference]: With dead ends: 109 [2022-04-08 13:20:30,385 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 13:20:30,385 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:20:30,385 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:20:30,385 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:20:30,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 13:20:30,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 13:20:30,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:20:30,419 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:20:30,419 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:20:30,419 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:20:30,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:30,431 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 13:20:30,431 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:20:30,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:30,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:30,431 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:20:30,432 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:20:30,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:20:30,434 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 13:20:30,434 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:20:30,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:20:30,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:20:30,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:20:30,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:20:30,435 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:20:30,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-08 13:20:30,436 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-08 13:20:30,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:20:30,436 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-08 13:20:30,436 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:20:30,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-08 13:20:30,519 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:20:30,519 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 13:20:30,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 13:20:30,520 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:20:30,520 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:20:30,536 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:20:30,731 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:20:30,731 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:20:30,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:20:30,732 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 13:20:30,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:20:30,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1205647407] [2022-04-08 13:20:34,816 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:20:34,816 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:20:34,816 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 13:20:34,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:20:34,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1380171099] [2022-04-08 13:20:34,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:20:34,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:20:34,828 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:20:34,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1042092922] [2022-04-08 13:20:34,828 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 13:20:34,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:20:34,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:20:34,829 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:20:34,830 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:20:34,869 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 13:20:34,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:20:34,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 13:20:34,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:20:34,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:20:38,153 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 13:20:38,222 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 13:20:38,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 13:20:38,549 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:20:38,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 13:20:38,549 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 13:20:38,549 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:20:38,549 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:20:38,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 13:20:38,552 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:20:38,553 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:20:38,553 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:20:38,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,554 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:20:38,554 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:20:38,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,554 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,554 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:20:38,555 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:20:38,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,555 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:20:38,556 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:20:38,556 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:20:38,556 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:20:38,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,557 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:20:38,557 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:20:38,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,557 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:20:38,557 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:20:38,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,558 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,558 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,558 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:20:38,559 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:20:38,559 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:20:38,559 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:20:38,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,560 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:20:38,560 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:20:38,560 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,560 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,561 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:20:38,561 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:20:38,561 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:20:38,561 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:20:38,561 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:20:38,562 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:20:38,562 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:20:38,563 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:20:38,563 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:20:38,563 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,563 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,563 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,564 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:20:38,564 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:20:38,564 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:20:38,564 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:20:38,564 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:20:38,564 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:20:38,565 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:20:38,566 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:20:38,566 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:20:38,567 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:20:38,567 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:20:38,567 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 13:20:38,567 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 13:20:38,568 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:20:38,568 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:21:09,894 WARN L232 SmtUtils]: Spent 8.19s 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:22:01,755 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 13:22:01,756 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 13:22:01,756 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:22:01,756 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:22:01,757 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:22:01,777 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:22:01,799 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:22:01,799 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:22:01,799 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,799 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,800 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,800 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:22:01,800 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:22:01,800 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,800 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,800 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,800 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:22:01,801 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:22:01,802 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:22:01,803 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:22:01,803 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:22:01,804 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:22:01,804 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:22:01,804 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:22:01,805 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:22:01,805 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,805 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,805 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,805 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:22:01,805 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:22:01,805 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,805 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,806 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,806 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:22:01,807 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:22:01,811 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:22:01,812 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:22:01,812 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,812 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,812 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:22:01,812 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:22:01,812 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,813 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,813 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:22:01,813 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:22:01,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,813 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,813 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:22:01,814 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:22:01,814 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:22:01,814 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:22:01,814 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,815 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:22:01,815 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:22:01,815 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,815 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:22:01,816 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:22:01,816 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,816 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:22:01,816 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:22:01,817 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:22:01,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {5558#true} is VALID [2022-04-08 13:22:01,817 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:22:01,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 13:22:01,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 13:22:01,817 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:22:01,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 13:22:01,818 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:22:01,818 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:01,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1380171099] [2022-04-08 13:22:01,818 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:01,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1042092922] [2022-04-08 13:22:01,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1042092922] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:22:01,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:22:01,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 13:22:01,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:01,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1205647407] [2022-04-08 13:22:01,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1205647407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:01,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:01,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 13:22:01,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1905411762] [2022-04-08 13:22:01,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:01,819 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:22:01,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:01,820 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:22:01,855 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:22:01,855 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 13:22:01,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:01,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 13:22:01,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=182, Unknown=1, NotChecked=0, Total=240 [2022-04-08 13:22:01,856 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:22:02,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:02,453 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 13:22:02,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:22:02,453 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:22:02,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:02,453 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:22:02,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 13:22:02,455 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:22:02,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 13:22:02,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-08 13:22:02,541 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:22:02,542 INFO L225 Difference]: With dead ends: 106 [2022-04-08 13:22:02,542 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 13:22:02,543 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 10.4s TimeCoverageRelationStatistics Valid=70, Invalid=235, Unknown=1, NotChecked=0, Total=306 [2022-04-08 13:22:02,543 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:22:02,557 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:22:02,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 13:22:02,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-08 13:22:02,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:02,616 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:22:02,616 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:22:02,616 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:22:02,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:02,618 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 13:22:02,618 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 13:22:02,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:02,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:02,618 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:22:02,619 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:22:02,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:02,620 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 13:22:02,620 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 13:22:02,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:02,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:02,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:02,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:02,621 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:22:02,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-08 13:22:02,622 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-08 13:22:02,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:02,622 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-08 13:22:02,622 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:22:02,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-08 13:22:02,727 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:02,728 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-08 13:22:02,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 13:22:02,728 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:22:02,728 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:22:02,744 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:22:02,929 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:22:02,929 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:22:02,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:22:02,929 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 13:22:02,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:02,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [725842116] [2022-04-08 13:22:07,010 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:22:07,010 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:22:07,010 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 13:22:07,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:22:07,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2112261724] [2022-04-08 13:22:07,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:22:07,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:22:07,024 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:22:07,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1719647710] [2022-04-08 13:22:07,025 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:22:07,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:22:07,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:22:07,025 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:22:07,026 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:22:07,066 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:22:07,066 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:22:07,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 13:22:07,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:22:07,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:22:07,560 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 13:22:07,560 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:22:07,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 13:22:07,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 13:22:07,561 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:22:07,561 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6671#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:22:07,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {6671#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6675#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:22:07,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {6675#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6675#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:22:07,562 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6675#(not (= |assume_abort_if_not_#in~cond| 0))} {6645#true} #78#return; {6682#(and (<= 0 main_~A~0) (<= main_~A~0 1))} is VALID [2022-04-08 13:22:07,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {6682#(and (<= 0 main_~A~0) (<= main_~A~0 1))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-08 13:22:07,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !false; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-08 13:22:07,563 INFO L272 TraceCheckUtils]: 13: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,563 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #80#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-08 13:22:07,564 INFO L272 TraceCheckUtils]: 18: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #82#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-08 13:22:07,564 INFO L272 TraceCheckUtils]: 23: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 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:22:07,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,565 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,565 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #84#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-08 13:22:07,566 INFO L290 TraceCheckUtils]: 28: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-08 13:22:07,566 INFO L290 TraceCheckUtils]: 29: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !false; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-08 13:22:07,566 INFO L272 TraceCheckUtils]: 30: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,567 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #80#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-08 13:22:07,567 INFO L272 TraceCheckUtils]: 35: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,567 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #82#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-08 13:22:07,568 INFO L272 TraceCheckUtils]: 40: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 13:22:07,568 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 13:22:07,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 13:22:07,568 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 13:22:07,568 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #84#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L272 TraceCheckUtils]: 47: Hoare triple {6646#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 48: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 49: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 50: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6646#false} {6646#false} #80#return; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L272 TraceCheckUtils]: 52: Hoare triple {6646#false} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 53: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 54: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 55: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6646#false} {6646#false} #82#return; {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L272 TraceCheckUtils]: 57: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 59: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6646#false} {6646#false} #84#return; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 62: Hoare triple {6646#false} assume !(~r~0 >= ~d~0); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 63: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L272 TraceCheckUtils]: 64: Hoare triple {6646#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 65: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 66: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 67: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6646#false} {6646#false} #86#return; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L272 TraceCheckUtils]: 69: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 70: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 71: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 72: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6646#false} {6646#false} #88#return; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 74: Hoare triple {6646#false} 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); {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 75: Hoare triple {6646#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L290 TraceCheckUtils]: 76: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:22:07,570 INFO L272 TraceCheckUtils]: 77: Hoare triple {6646#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 78: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 79: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 80: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6646#false} {6646#false} #86#return; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L272 TraceCheckUtils]: 82: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 83: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 84: Hoare triple {6646#false} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 13:22:07,571 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 171 proven. 0 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-08 13:22:07,571 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:22:07,571 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:22:07,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2112261724] [2022-04-08 13:22:07,571 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:22:07,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719647710] [2022-04-08 13:22:07,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719647710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:07,572 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:07,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:22:07,572 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:22:07,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [725842116] [2022-04-08 13:22:07,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [725842116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:22:07,572 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:22:07,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:22:07,572 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1006438234] [2022-04-08 13:22:07,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:22:07,573 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-08 13:22:07,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:22:07,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 13:22:07,611 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:07,611 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:22:07,611 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:22:07,612 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:22:07,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-08 13:22:07,612 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 13:22:07,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:07,789 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-08 13:22:07,789 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:22:07,789 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-08 13:22:07,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:22:07,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 13:22:07,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-08 13:22:07,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 13:22:07,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-08 13:22:07,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 57 transitions. [2022-04-08 13:22:07,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:22:07,826 INFO L225 Difference]: With dead ends: 91 [2022-04-08 13:22:07,826 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 13:22:07,827 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:22:07,827 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 4 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:22:07,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 103 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:22:07,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 13:22:07,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 13:22:07,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:22:07,828 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:22:07,828 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:22:07,828 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:22:07,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:07,828 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:22:07,828 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:22:07,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:07,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:07,828 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:22:07,828 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:22:07,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:22:07,828 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:22:07,828 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:22:07,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:07,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:22:07,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:22:07,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:22:07,829 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:22:07,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 13:22:07,829 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-08 13:22:07,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:22:07,829 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 13:22:07,829 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 13:22:07,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 13:22:07,829 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:22:07,829 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:22:07,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:22:07,831 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 13:22:07,847 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:22:08,031 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:22:08,033 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 13:22:08,808 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 13:22:08,808 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 13:22:08,808 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 13:22:08,808 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-08 13:22:08,808 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:22:08,808 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:22:08,808 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:22:08,809 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:22:08,809 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L52(lines 52 55) the Hoare annotation is: (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)) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L52-2(lines 22 61) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L46(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-08 13:22:08,809 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_~r~0) main_~A~0) .cse0 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse1 .cse2))) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-08 13:22:08,809 INFO L885 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-08 13:22:08,809 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 1)) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-08 13:22:08,809 INFO L878 garLoopResultBuilder]: At program point L37(lines 34 42) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-08 13:22:08,810 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-08 13:22:08,810 INFO L878 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-08 13:22:08,810 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 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:22:08,810 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:22:08,810 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 13:22:08,810 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:22:08,810 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 13:22:08,810 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:22:08,810 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:22:08,810 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:22:08,812 INFO L719 BasicCegarLoop]: Path program histogram: [8, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 13:22:08,813 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 13:22:08,815 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 13:22:08,816 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 13:22:08,831 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:22:08,838 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 01:22:08 BoogieIcfgContainer [2022-04-08 13:22:08,838 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 13:22:08,839 INFO L158 Benchmark]: Toolchain (without parser) took 141549.60ms. Allocated memory was 183.5MB in the beginning and 264.2MB in the end (delta: 80.7MB). Free memory was 129.1MB in the beginning and 162.9MB in the end (delta: -33.8MB). Peak memory consumption was 128.3MB. Max. memory is 8.0GB. [2022-04-08 13:22:08,839 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 183.5MB. Free memory was 145.7MB in the beginning and 145.6MB in the end (delta: 67.9kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 13:22:08,839 INFO L158 Benchmark]: CACSL2BoogieTranslator took 172.48ms. Allocated memory is still 183.5MB. Free memory was 128.9MB in the beginning and 154.9MB in the end (delta: -26.0MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. [2022-04-08 13:22:08,839 INFO L158 Benchmark]: Boogie Preprocessor took 37.37ms. Allocated memory is still 183.5MB. Free memory was 154.5MB in the beginning and 153.2MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 13:22:08,840 INFO L158 Benchmark]: RCFGBuilder took 265.89ms. Allocated memory is still 183.5MB. Free memory was 153.2MB in the beginning and 141.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 13:22:08,840 INFO L158 Benchmark]: TraceAbstraction took 141069.23ms. Allocated memory was 183.5MB in the beginning and 264.2MB in the end (delta: 80.7MB). Free memory was 141.3MB in the beginning and 162.9MB in the end (delta: -21.6MB). Peak memory consumption was 141.9MB. Max. memory is 8.0GB. [2022-04-08 13:22:08,841 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 183.5MB. Free memory was 145.7MB in the beginning and 145.6MB in the end (delta: 67.9kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 172.48ms. Allocated memory is still 183.5MB. Free memory was 128.9MB in the beginning and 154.9MB in the end (delta: -26.0MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 37.37ms. Allocated memory is still 183.5MB. Free memory was 154.5MB in the beginning and 153.2MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 265.89ms. Allocated memory is still 183.5MB. Free memory was 153.2MB in the beginning and 141.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 141069.23ms. Allocated memory was 183.5MB in the beginning and 264.2MB in the end (delta: 80.7MB). Free memory was 141.3MB in the beginning and 162.9MB in the end (delta: -21.6MB). Peak memory consumption was 141.9MB. 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: 141.0s, OverallIterations: 11, TraceHistogramMax: 13, PathProgramHistogramMax: 8, EmptinessCheckTime: 0.0s, AutomataDifference: 6.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 223 SdHoareTripleChecker+Valid, 3.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 177 mSDsluCounter, 1222 SdHoareTripleChecker+Invalid, 3.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 843 mSDsCounter, 148 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1304 IncrementalHoareTripleChecker+Invalid, 1453 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 148 mSolverCounterUnsat, 379 mSDtfsCounter, 1304 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 852 GetRequests, 755 SyntacticMatches, 10 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 10.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=8, InterpolantAutomatonStates: 70, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.4s AutomataMinimizationTime, 11 MinimizatonAttempts, 23 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 35 LocationsWithAnnotation, 389 PreInvPairs, 507 NumberOfFragments, 598 HoareAnnotationTreeSize, 389 FomulaSimplifications, 240 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 35 FomulaSimplificationsInter, 645 FormulaSimplificationTreeSizeReductionInter, 0.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: ((((((0 <= A && A == r) && A <= 1) && q == 0) && B == 1) && B == d) && p == 1) || ((((((0 <= A && A == r) && B * 2 == d) && p == 2) && A <= 1) && q == 0) && B == 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:22:08,865 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...