/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/prodbin-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:24:43,452 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:24:43,453 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:24:43,516 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:24:43,516 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:24:43,517 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:24:43,517 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:24:43,519 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:24:43,520 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:24:43,520 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:24:43,521 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:24:43,521 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:24:43,522 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:24:43,522 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:24:43,535 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:24:43,537 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:24:43,537 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:24:43,542 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:24:43,547 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:24:43,551 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:24:43,552 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:24:43,555 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:24:43,556 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:24:43,559 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:24:43,560 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:24:43,562 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:24:43,562 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:24:43,562 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:24:43,563 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:24:43,563 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:24:43,564 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:24:43,564 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:24:43,565 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:24:43,565 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:24:43,566 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:24:43,571 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:24:43,572 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:24:43,572 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:24:43,573 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:24:43,573 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:24:43,573 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:24:43,574 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:24:43,575 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:24:43,585 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:24:43,585 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:24:43,587 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:24:43,587 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:24:43,588 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:24:43,588 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:24:43,588 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:24:43,588 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:24:43,588 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:24:43,589 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:24:43,589 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:24:43,589 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:24:43,590 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 04:24:43,760 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:24:43,782 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:24:43,783 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:24:43,784 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:24:43,784 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:24:43,785 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-28 04:24:43,836 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8976ed660/8b6b7a1c14104b18bb806e1d91d243d1/FLAGe663930e5 [2022-04-28 04:24:44,179 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:24:44,180 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-28 04:24:44,184 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8976ed660/8b6b7a1c14104b18bb806e1d91d243d1/FLAGe663930e5 [2022-04-28 04:24:44,195 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8976ed660/8b6b7a1c14104b18bb806e1d91d243d1 [2022-04-28 04:24:44,197 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:24:44,199 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:24:44,200 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:24:44,200 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:24:44,203 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:24:44,207 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,207 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62432e3e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44, skipping insertion in model container [2022-04-28 04:24:44,207 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,212 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:24:44,223 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:24:44,364 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/prodbin-ll.c[537,550] [2022-04-28 04:24:44,384 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:24:44,390 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:24:44,403 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/prodbin-ll.c[537,550] [2022-04-28 04:24:44,421 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:24:44,429 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:24:44,429 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44 WrapperNode [2022-04-28 04:24:44,430 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:24:44,431 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:24:44,431 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:24:44,431 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:24:44,451 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,452 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,457 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,457 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,466 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,470 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,473 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,476 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:24:44,477 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:24:44,477 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:24:44,477 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:24:44,478 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (1/1) ... [2022-04-28 04:24:44,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:24:44,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:44,498 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 04:24:44,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 04:24:44,532 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:24:44,532 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:24:44,532 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:24:44,532 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:24:44,532 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:24:44,533 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:24:44,533 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:24:44,533 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:24:44,533 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:24:44,533 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:24:44,533 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:24:44,534 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:24:44,534 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:24:44,534 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:24:44,535 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:24:44,579 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:24:44,581 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:24:44,726 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:24:44,730 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:24:44,730 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:24:44,732 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:24:44 BoogieIcfgContainer [2022-04-28 04:24:44,732 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:24:44,733 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:24:44,733 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:24:44,740 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:24:44,740 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:24:44" (1/3) ... [2022-04-28 04:24:44,741 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@262489dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:24:44, skipping insertion in model container [2022-04-28 04:24:44,741 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:24:44" (2/3) ... [2022-04-28 04:24:44,741 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@262489dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:24:44, skipping insertion in model container [2022-04-28 04:24:44,741 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:24:44" (3/3) ... [2022-04-28 04:24:44,742 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll.c [2022-04-28 04:24:44,755 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:24:44,755 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:24:44,785 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:24:44,789 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1e9d8574, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7299c166 [2022-04-28 04:24:44,789 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:24:44,798 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:24:44,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 04:24:44,802 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:44,803 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:24:44,805 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:44,809 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:44,809 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 1 times [2022-04-28 04:24:44,815 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:44,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1404561501] [2022-04-28 04:24:44,822 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:24:44,823 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 2 times [2022-04-28 04:24:44,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:44,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [70894509] [2022-04-28 04:24:44,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:44,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:44,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:44,923 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:24:44,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:44,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#(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(13, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-28 04:24:44,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-28 04:24:44,937 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-28 04:24:44,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:24:44,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:44,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-28 04:24:44,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-28 04:24:44,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-28 04:24:44,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-28 04:24:44,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {41#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:24:44,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#(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(13, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-28 04:24:44,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-28 04:24:44,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-28 04:24:44,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret6 := main(); {32#true} is VALID [2022-04-28 04:24:44,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {32#true} is VALID [2022-04-28 04:24:44,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {32#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {32#true} is VALID [2022-04-28 04:24:44,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-28 04:24:44,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-28 04:24:44,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-28 04:24:44,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-28 04:24:44,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {33#false} is VALID [2022-04-28 04:24:44,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#false} assume false; {33#false} is VALID [2022-04-28 04:24:44,959 INFO L272 TraceCheckUtils]: 13: Hoare triple {33#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {33#false} is VALID [2022-04-28 04:24:44,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {33#false} ~cond := #in~cond; {33#false} is VALID [2022-04-28 04:24:44,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {33#false} assume 0 == ~cond; {33#false} is VALID [2022-04-28 04:24:44,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-28 04:24:44,960 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:24:44,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:24:44,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [70894509] [2022-04-28 04:24:44,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [70894509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:44,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:44,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:24:44,963 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:24:44,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1404561501] [2022-04-28 04:24:44,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1404561501] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:44,964 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:44,964 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:24:44,964 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [388907569] [2022-04-28 04:24:44,965 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:24:44,970 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-28 04:24:44,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:24:44,973 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-28 04:24:44,999 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-28 04:24:44,999 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:24:45,000 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:45,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:24:45,019 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:24:45,022 INFO L87 Difference]: Start difference. First operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) 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-28 04:24:45,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,132 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2022-04-28 04:24:45,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:24:45,133 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-28 04:24:45,133 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:24:45,134 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-28 04:24:45,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-28 04:24:45,139 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-28 04:24:45,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-28 04:24:45,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 62 transitions. [2022-04-28 04:24:45,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:45,231 INFO L225 Difference]: With dead ends: 49 [2022-04-28 04:24:45,232 INFO L226 Difference]: Without dead ends: 24 [2022-04-28 04:24:45,233 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:24:45,236 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:24:45,237 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 31 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:24:45,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-04-28 04:24:45,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-04-28 04:24:45,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:24:45,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:24:45,266 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:24:45,266 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:24:45,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,273 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-28 04:24:45,274 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-28 04:24:45,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:45,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:45,275 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-28 04:24:45,275 INFO L87 Difference]: Start difference. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-28 04:24:45,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,280 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-28 04:24:45,282 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-28 04:24:45,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:45,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:45,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:24:45,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:24:45,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:24:45,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-04-28 04:24:45,287 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 17 [2022-04-28 04:24:45,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:24:45,287 INFO L495 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-04-28 04:24:45,288 INFO L496 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-28 04:24:45,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 26 transitions. [2022-04-28 04:24:45,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:45,328 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-28 04:24:45,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 04:24:45,329 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:45,329 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:24:45,329 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:24:45,329 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:45,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:45,330 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 1 times [2022-04-28 04:24:45,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:45,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [466326922] [2022-04-28 04:24:45,331 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:24:45,331 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 2 times [2022-04-28 04:24:45,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:45,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [496339753] [2022-04-28 04:24:45,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:45,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:45,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:24:45,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2049779011] [2022-04-28 04:24:45,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:24:45,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:45,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:45,352 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:24:45,353 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 04:24:45,394 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:24:45,394 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:24:45,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 04:24:45,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:45,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:24:45,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {238#true} call ULTIMATE.init(); {238#true} is VALID [2022-04-28 04:24:45,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {238#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(13, 2);call #Ultimate.allocInit(12, 3); {238#true} is VALID [2022-04-28 04:24:45,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-28 04:24:45,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {238#true} {238#true} #64#return; {238#true} is VALID [2022-04-28 04:24:45,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {238#true} call #t~ret6 := main(); {238#true} is VALID [2022-04-28 04:24:45,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {238#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {238#true} is VALID [2022-04-28 04:24:45,524 INFO L272 TraceCheckUtils]: 6: Hoare triple {238#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {238#true} is VALID [2022-04-28 04:24:45,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {238#true} ~cond := #in~cond; {238#true} is VALID [2022-04-28 04:24:45,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {238#true} assume !(0 == ~cond); {238#true} is VALID [2022-04-28 04:24:45,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-28 04:24:45,525 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {238#true} {238#true} #58#return; {238#true} is VALID [2022-04-28 04:24:45,525 INFO L290 TraceCheckUtils]: 11: Hoare triple {238#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:45,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:45,527 INFO L272 TraceCheckUtils]: 13: Hoare triple {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:24:45,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:45,529 INFO L290 TraceCheckUtils]: 15: Hoare triple {287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {239#false} is VALID [2022-04-28 04:24:45,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {239#false} assume !false; {239#false} is VALID [2022-04-28 04:24:45,530 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:24:45,530 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:24:45,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:24:45,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [496339753] [2022-04-28 04:24:45,530 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:24:45,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049779011] [2022-04-28 04:24:45,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049779011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:45,531 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:45,531 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:24:45,531 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:24:45,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [466326922] [2022-04-28 04:24:45,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [466326922] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:45,532 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:45,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:24:45,532 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1017184144] [2022-04-28 04:24:45,532 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:24:45,533 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 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-28 04:24:45,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:24:45,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 04:24:45,547 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-28 04:24:45,547 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:24:45,547 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:45,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:24:45,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:24:45,549 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 04:24:45,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,674 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2022-04-28 04:24:45,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:24:45,674 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 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-28 04:24:45,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:24:45,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 04:24:45,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-28 04:24:45,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 04:24:45,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-28 04:24:45,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 40 transitions. [2022-04-28 04:24:45,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:45,722 INFO L225 Difference]: With dead ends: 36 [2022-04-28 04:24:45,722 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 04:24:45,722 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:24:45,723 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:24:45,723 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 67 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:24:45,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 04:24:45,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 30. [2022-04-28 04:24:45,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:24:45,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:45,738 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:45,738 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:45,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,740 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-28 04:24:45,740 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 04:24:45,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:45,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:45,741 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 04:24:45,741 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 04:24:45,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:45,743 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-28 04:24:45,743 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 04:24:45,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:45,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:45,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:24:45,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:24:45,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:45,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 32 transitions. [2022-04-28 04:24:45,746 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 32 transitions. Word has length 17 [2022-04-28 04:24:45,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:24:45,746 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 32 transitions. [2022-04-28 04:24:45,747 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 04:24:45,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 32 transitions. [2022-04-28 04:24:45,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:45,785 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2022-04-28 04:24:45,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:24:45,787 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:45,791 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:24:45,810 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 04:24:46,007 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:46,008 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:46,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:46,009 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 1 times [2022-04-28 04:24:46,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:46,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1928971419] [2022-04-28 04:24:46,009 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:24:46,009 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 2 times [2022-04-28 04:24:46,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:46,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [951290522] [2022-04-28 04:24:46,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:46,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:46,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:24:46,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [462981949] [2022-04-28 04:24:46,021 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:24:46,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:46,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:46,022 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:24:46,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 04:24:46,068 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:24:46,068 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:24:46,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 04:24:46,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:46,075 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:24:46,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {495#true} call ULTIMATE.init(); {495#true} is VALID [2022-04-28 04:24:46,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#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(13, 2);call #Ultimate.allocInit(12, 3); {495#true} is VALID [2022-04-28 04:24:46,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-28 04:24:46,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} #64#return; {495#true} is VALID [2022-04-28 04:24:46,192 INFO L272 TraceCheckUtils]: 4: Hoare triple {495#true} call #t~ret6 := main(); {495#true} is VALID [2022-04-28 04:24:46,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {495#true} is VALID [2022-04-28 04:24:46,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {495#true} is VALID [2022-04-28 04:24:46,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {495#true} ~cond := #in~cond; {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:24:46,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:24:46,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {525#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:24:46,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {525#(not (= |assume_abort_if_not_#in~cond| 0))} {495#true} #58#return; {532#(<= 1 main_~b~0)} is VALID [2022-04-28 04:24:46,194 INFO L290 TraceCheckUtils]: 11: Hoare triple {532#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {536#(<= 1 main_~y~0)} is VALID [2022-04-28 04:24:46,194 INFO L290 TraceCheckUtils]: 12: Hoare triple {536#(<= 1 main_~y~0)} assume !false; {536#(<= 1 main_~y~0)} is VALID [2022-04-28 04:24:46,194 INFO L272 TraceCheckUtils]: 13: Hoare triple {536#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {495#true} is VALID [2022-04-28 04:24:46,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {495#true} ~cond := #in~cond; {495#true} is VALID [2022-04-28 04:24:46,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {495#true} assume !(0 == ~cond); {495#true} is VALID [2022-04-28 04:24:46,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-28 04:24:46,195 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {495#true} {536#(<= 1 main_~y~0)} #60#return; {536#(<= 1 main_~y~0)} is VALID [2022-04-28 04:24:46,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {536#(<= 1 main_~y~0)} assume !(0 != ~y~0); {496#false} is VALID [2022-04-28 04:24:46,196 INFO L272 TraceCheckUtils]: 19: Hoare triple {496#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {496#false} is VALID [2022-04-28 04:24:46,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {496#false} ~cond := #in~cond; {496#false} is VALID [2022-04-28 04:24:46,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {496#false} assume 0 == ~cond; {496#false} is VALID [2022-04-28 04:24:46,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {496#false} assume !false; {496#false} is VALID [2022-04-28 04:24:46,196 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:24:46,196 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:24:46,197 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:24:46,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [951290522] [2022-04-28 04:24:46,197 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:24:46,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [462981949] [2022-04-28 04:24:46,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [462981949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:46,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:46,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:24:46,197 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:24:46,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1928971419] [2022-04-28 04:24:46,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1928971419] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:46,198 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:46,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:24:46,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1152530568] [2022-04-28 04:24:46,198 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:24:46,198 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 04:24:46,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:24:46,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:24:46,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:46,213 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:24:46,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:46,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:24:46,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:24:46,214 INFO L87 Difference]: Start difference. First operand 30 states and 32 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:24:46,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:46,360 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2022-04-28 04:24:46,360 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:24:46,361 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 04:24:46,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:24:46,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:24:46,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 04:24:46,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:24:46,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 04:24:46,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-28 04:24:46,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:46,393 INFO L225 Difference]: With dead ends: 40 [2022-04-28 04:24:46,393 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 04:24:46,393 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:24:46,394 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 14 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:24:46,395 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 77 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:24:46,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 04:24:46,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 31. [2022-04-28 04:24:46,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:24:46,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:46,410 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:46,410 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:46,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:46,411 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-28 04:24:46,411 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-28 04:24:46,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:46,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:46,412 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-28 04:24:46,412 INFO L87 Difference]: Start difference. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-28 04:24:46,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:46,413 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-28 04:24:46,413 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-28 04:24:46,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:46,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:46,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:24:46,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:24:46,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:24:46,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2022-04-28 04:24:46,415 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 23 [2022-04-28 04:24:46,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:24:46,415 INFO L495 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2022-04-28 04:24:46,415 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:24:46,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 33 transitions. [2022-04-28 04:24:46,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:46,449 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-04-28 04:24:46,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-28 04:24:46,449 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:46,449 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:24:46,468 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 04:24:46,662 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 04:24:46,662 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:46,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:46,663 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 1 times [2022-04-28 04:24:46,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:46,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1708661143] [2022-04-28 04:24:50,787 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:24:50,787 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:24:50,787 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:24:50,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 2 times [2022-04-28 04:24:50,787 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:50,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1552646817] [2022-04-28 04:24:50,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:50,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:50,799 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:24:50,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2028005011] [2022-04-28 04:24:50,800 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:24:50,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:50,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:50,801 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:24:50,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 04:24:50,835 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:24:50,835 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:24:50,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 04:24:50,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:50,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:24:53,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-28 04:24:53,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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(13, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-28 04:24:53,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-28 04:24:53,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-28 04:24:53,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-28 04:24:53,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-28 04:24:53,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-28 04:24:53,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:24:53,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:24:53,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:24:53,784 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {818#(<= 1 main_~b~0)} is VALID [2022-04-28 04:24:53,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {818#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:53,784 INFO L290 TraceCheckUtils]: 12: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:53,785 INFO L272 TraceCheckUtils]: 13: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {781#true} is VALID [2022-04-28 04:24:53,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-28 04:24:53,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-28 04:24:53,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-28 04:24:53,787 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:53,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:53,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {847#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:53,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {847#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:24:53,790 INFO L290 TraceCheckUtils]: 21: Hoare triple {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:24:53,792 INFO L272 TraceCheckUtils]: 22: Hoare triple {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:24:53,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:53,794 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-28 04:24:53,794 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-28 04:24:53,795 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:24:53,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:25:25,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-28 04:25:25,526 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-28 04:25:25,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:25,528 INFO L272 TraceCheckUtils]: 22: Hoare triple {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:25:25,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:25:25,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:25:25,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {885#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:25:25,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:25:25,535 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #60#return; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:25:25,535 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-28 04:25:25,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-28 04:25:25,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-28 04:25:25,536 INFO L272 TraceCheckUtils]: 13: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {781#true} is VALID [2022-04-28 04:25:25,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:25:25,539 INFO L290 TraceCheckUtils]: 11: Hoare triple {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:25:25,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 04:25:25,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:25:25,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:25:25,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:25:25,541 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-28 04:25:25,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-28 04:25:25,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-28 04:25:25,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-28 04:25:25,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-28 04:25:25,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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(13, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-28 04:25:25,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-28 04:25:25,542 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:25:25,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:25:25,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1552646817] [2022-04-28 04:25:25,542 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:25:25,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2028005011] [2022-04-28 04:25:25,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2028005011] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:25:25,542 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:25:25,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 04:25:25,543 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:25:25,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1708661143] [2022-04-28 04:25:25,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1708661143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:25:25,543 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:25:25,543 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:25:25,543 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512340766] [2022-04-28 04:25:25,543 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:25:25,543 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-28 04:25:25,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:25:25,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:25:25,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:25:25,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:25:25,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:25:25,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:25:25,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:25:25,565 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:25:25,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:25:25,973 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 04:25:25,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:25:25,973 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-28 04:25:25,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:25:25,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:25:25,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-28 04:25:25,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:25:25,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-28 04:25:25,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2022-04-28 04:25:26,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:25:26,019 INFO L225 Difference]: With dead ends: 49 [2022-04-28 04:25:26,019 INFO L226 Difference]: Without dead ends: 42 [2022-04-28 04:25:26,019 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:25:26,020 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 21 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:25:26,020 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 111 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:25:26,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-28 04:25:26,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2022-04-28 04:25:26,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:25:26,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:25:26,041 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:25:26,041 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:25:26,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:25:26,043 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 04:25:26,043 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 04:25:26,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:25:26,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:25:26,060 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-28 04:25:26,061 INFO L87 Difference]: Start difference. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-28 04:25:26,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:25:26,064 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 04:25:26,064 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 04:25:26,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:25:26,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:25:26,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:25:26,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:25:26,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:25:26,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 43 transitions. [2022-04-28 04:25:26,072 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 43 transitions. Word has length 26 [2022-04-28 04:25:26,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:25:26,072 INFO L495 AbstractCegarLoop]: Abstraction has 40 states and 43 transitions. [2022-04-28 04:25:26,072 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:25:26,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 43 transitions. [2022-04-28 04:25:26,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:25:26,115 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2022-04-28 04:25:26,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-28 04:25:26,116 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:25:26,116 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:25:26,147 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 04:25:26,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:25:26,323 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:25:26,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:25:26,324 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 1 times [2022-04-28 04:25:26,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:25:26,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1317089917] [2022-04-28 04:25:30,370 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:25:30,370 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:25:30,370 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:25:30,370 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 2 times [2022-04-28 04:25:30,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:25:30,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1190624982] [2022-04-28 04:25:30,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:25:30,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:25:30,401 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:25:30,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1030317599] [2022-04-28 04:25:30,401 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:25:30,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:25:30,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:25:30,414 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:25:30,415 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 04:25:30,460 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:25:30,460 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:25:30,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:25:30,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:25:30,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:25:31,852 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-28 04:25:31,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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(13, 2);call #Ultimate.allocInit(12, 3); {1217#true} is VALID [2022-04-28 04:25:31,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-28 04:25:31,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-28 04:25:31,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-28 04:25:31,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-28 04:25:31,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-28 04:25:31,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:25:31,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:25:31,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:25:31,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} {1217#true} #58#return; {1254#(<= 1 main_~b~0)} is VALID [2022-04-28 04:25:31,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {1254#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:25:31,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:25:31,867 INFO L272 TraceCheckUtils]: 13: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1217#true} is VALID [2022-04-28 04:25:31,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-28 04:25:31,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-28 04:25:31,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-28 04:25:31,867 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:25:31,868 INFO L290 TraceCheckUtils]: 18: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:25:31,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:25:31,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:25:31,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:25:33,872 WARN L272 TraceCheckUtils]: 22: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 04:25:33,873 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:33,873 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-28 04:25:33,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-28 04:25:33,874 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:25:33,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:26:00,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-28 04:26:00,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-28 04:26:00,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:00,638 INFO L272 TraceCheckUtils]: 22: Hoare triple {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:26:00,639 INFO L290 TraceCheckUtils]: 21: Hoare triple {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:26:00,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {1321#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:26:00,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1321#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:26:00,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:26:00,646 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #60#return; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:26:00,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-28 04:26:00,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-28 04:26:00,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-28 04:26:00,646 INFO L272 TraceCheckUtils]: 13: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1217#true} is VALID [2022-04-28 04:26:00,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:26:00,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {1217#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:26:00,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1217#true} {1217#true} #58#return; {1217#true} is VALID [2022-04-28 04:26:00,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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(13, 2);call #Ultimate.allocInit(12, 3); {1217#true} is VALID [2022-04-28 04:26:00,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-28 04:26:00,935 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:26:00,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:26:00,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1190624982] [2022-04-28 04:26:00,935 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:26:00,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1030317599] [2022-04-28 04:26:00,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1030317599] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:26:00,935 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:26:00,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [10] total 13 [2022-04-28 04:26:00,936 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:26:00,936 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1317089917] [2022-04-28 04:26:00,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1317089917] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:26:00,936 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:26:00,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:26:00,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1207097800] [2022-04-28 04:26:00,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:26:00,936 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-28 04:26:00,936 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:26:00,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:26:01,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:26:01,185 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:26:01,185 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:26:01,185 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:26:01,185 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:26:01,185 INFO L87 Difference]: Start difference. First operand 40 states and 43 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:26:02,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:02,622 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 04:26:02,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 04:26:02,622 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-28 04:26:02,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:26:02,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:26:02,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-28 04:26:02,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:26:02,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-28 04:26:02,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 41 transitions. [2022-04-28 04:26:02,663 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-28 04:26:02,664 INFO L225 Difference]: With dead ends: 53 [2022-04-28 04:26:02,664 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 04:26:02,664 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:26:02,665 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:26:02,665 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 95 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:26:02,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 04:26:02,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2022-04-28 04:26:02,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:26:02,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:02,692 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:02,692 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:02,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:02,694 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-28 04:26:02,694 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-28 04:26:02,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:26:02,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:26:02,694 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-28 04:26:02,694 INFO L87 Difference]: Start difference. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-28 04:26:02,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:02,696 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-28 04:26:02,696 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-28 04:26:02,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:26:02,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:26:02,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:26:02,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:26:02,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:02,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2022-04-28 04:26:02,697 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 26 [2022-04-28 04:26:02,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:26:02,697 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2022-04-28 04:26:02,698 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:26:02,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 54 transitions. [2022-04-28 04:26:02,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:26:02,756 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 04:26:02,756 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:26:02,756 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:26:02,757 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:26:02,772 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 04:26:02,963 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:26:02,971 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:26:02,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:26:02,971 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 1 times [2022-04-28 04:26:02,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:26:02,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1615065209] [2022-04-28 04:26:07,033 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:26:07,033 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:26:07,033 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:26:07,033 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 2 times [2022-04-28 04:26:07,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:26:07,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810120671] [2022-04-28 04:26:07,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:26:07,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:26:07,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:26:07,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2094265827] [2022-04-28 04:26:07,044 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:26:07,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:26:07,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:26:07,045 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:26:07,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 04:26:07,094 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:26:07,094 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:26:07,095 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 04:26:07,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:26:07,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:26:17,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-28 04:26:17,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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(13, 2);call #Ultimate.allocInit(12, 3); {1695#true} is VALID [2022-04-28 04:26:17,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:17,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:17,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:17,251 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-28 04:26:17,252 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-28 04:26:17,252 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1695#true} is VALID [2022-04-28 04:26:17,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1695#true} is VALID [2022-04-28 04:26:17,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-28 04:26:17,252 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:17,253 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:17,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:17,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:19,256 WARN L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1780#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 04:26:19,257 INFO L290 TraceCheckUtils]: 27: Hoare triple {1780#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:26:19,258 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:26:19,258 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:19,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-28 04:26:19,259 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-28 04:26:19,259 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 04:26:19,259 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:26:29,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-28 04:26:29,435 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-28 04:26:29,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:29,435 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:26:29,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:26:29,436 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:26:29,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:29,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:29,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:26:29,437 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-28 04:26:29,438 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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(13, 2);call #Ultimate.allocInit(12, 3); {1695#true} is VALID [2022-04-28 04:26:29,439 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-28 04:26:29,440 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 04:26:29,440 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:26:29,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810120671] [2022-04-28 04:26:29,440 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:26:29,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2094265827] [2022-04-28 04:26:29,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2094265827] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:26:29,440 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:26:29,440 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 04:26:29,440 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:26:29,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1615065209] [2022-04-28 04:26:29,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1615065209] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:26:29,441 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:26:29,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:26:29,441 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1988897608] [2022-04-28 04:26:29,441 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:26:29,441 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-28 04:26:29,441 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:26:29,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 04:26:31,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 29 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:26:31,470 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:26:31,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:26:31,470 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:26:31,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:26:31,471 INFO L87 Difference]: Start difference. First operand 49 states and 54 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 04:26:33,505 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:34,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:34,042 INFO L93 Difference]: Finished difference Result 56 states and 60 transitions. [2022-04-28 04:26:34,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:26:34,042 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-28 04:26:34,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:26:34,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 04:26:34,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-28 04:26:34,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 04:26:34,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-28 04:26:34,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2022-04-28 04:26:36,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:26:36,074 INFO L225 Difference]: With dead ends: 56 [2022-04-28 04:26:36,074 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 04:26:36,074 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:26:36,075 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 13 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:26:36,075 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 91 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 62 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 04:26:36,075 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 04:26:36,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-04-28 04:26:36,103 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:26:36,103 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:36,103 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:36,103 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:36,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:36,105 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-28 04:26:36,105 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-28 04:26:36,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:26:36,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:26:36,105 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-28 04:26:36,106 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-28 04:26:36,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:26:36,107 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-28 04:26:36,107 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-28 04:26:36,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:26:36,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:26:36,107 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:26:36,107 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:26:36,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:26:36,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 50 transitions. [2022-04-28 04:26:36,109 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 50 transitions. Word has length 32 [2022-04-28 04:26:36,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:26:36,109 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 50 transitions. [2022-04-28 04:26:36,110 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 04:26:36,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 50 transitions. [2022-04-28 04:26:44,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 46 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 04:26:44,201 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 50 transitions. [2022-04-28 04:26:44,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 04:26:44,201 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:26:44,201 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:26:44,217 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 04:26:44,407 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:26:44,407 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:26:44,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:26:44,408 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 3 times [2022-04-28 04:26:44,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:26:44,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [277626383] [2022-04-28 04:26:46,488 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:26:46,488 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:26:46,488 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:26:46,488 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 4 times [2022-04-28 04:26:46,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:26:46,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1594906] [2022-04-28 04:26:46,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:26:46,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:26:46,497 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:26:46,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1254723102] [2022-04-28 04:26:46,497 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:26:46,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:26:46,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:26:46,498 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:26:46,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 04:26:46,532 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:26:46,532 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:26:46,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 04:26:46,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:26:46,543 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:26:52,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-28 04:26:52,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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(13, 2);call #Ultimate.allocInit(12, 3); {2204#true} is VALID [2022-04-28 04:26:52,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-28 04:26:52,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-28 04:26:52,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-28 04:26:52,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-28 04:26:52,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:26:52,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:26:52,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:26:52,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:26:52,220 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2241#(<= 1 main_~b~0)} is VALID [2022-04-28 04:26:52,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {2241#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:26:52,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:26:52,221 INFO L272 TraceCheckUtils]: 13: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:26:52,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:52,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:52,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:26:52,222 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:26:52,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:26:52,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2272#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:26:52,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {2272#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,225 INFO L272 TraceCheckUtils]: 22: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:26:52,226 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-28 04:26:52,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-28 04:26:52,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-28 04:26:52,226 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #60#return; {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,228 INFO L290 TraceCheckUtils]: 28: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:26:52,233 INFO L272 TraceCheckUtils]: 31: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:26:52,233 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:26:52,234 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-28 04:26:52,234 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-28 04:26:52,234 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:26:52,234 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:27:36,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-28 04:27:36,840 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-28 04:27:36,841 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:36,842 INFO L272 TraceCheckUtils]: 31: Hoare triple {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:27:36,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:27:36,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {2339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:27:36,848 INFO L290 TraceCheckUtils]: 28: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:27:36,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:27:36,849 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #60#return; {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:27:36,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-28 04:27:36,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-28 04:27:36,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-28 04:27:36,849 INFO L272 TraceCheckUtils]: 22: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:27:36,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:27:36,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:27:36,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-28 04:27:36,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 04:27:36,878 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} #60#return; {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 04:27:36,879 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:36,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:36,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:27:36,880 INFO L272 TraceCheckUtils]: 13: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:27:36,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} assume !false; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 04:27:36,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 04:27:36,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} is VALID [2022-04-28 04:27:36,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:27:36,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:27:36,898 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:27:36,898 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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(13, 2);call #Ultimate.allocInit(12, 3); {2204#true} is VALID [2022-04-28 04:27:36,898 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-28 04:27:36,899 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:27:36,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:27:36,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1594906] [2022-04-28 04:27:36,899 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:27:36,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1254723102] [2022-04-28 04:27:36,899 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1254723102] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:27:36,899 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:27:36,899 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 23 [2022-04-28 04:27:36,899 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:27:36,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [277626383] [2022-04-28 04:27:36,899 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [277626383] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:27:36,900 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:27:36,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:27:36,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1826559000] [2022-04-28 04:27:36,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:27:36,900 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:27:36,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:27:36,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:27:36,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:27:36,930 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:27:36,930 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:27:36,931 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:27:36,931 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:27:36,931 INFO L87 Difference]: Start difference. First operand 47 states and 50 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:27:38,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:38,144 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 04:27:38,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:27:38,144 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:27:38,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:27:38,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:27:38,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-28 04:27:38,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:27:38,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-28 04:27:38,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 50 transitions. [2022-04-28 04:27:38,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:27:38,191 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:27:38,191 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 04:27:38,191 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 46 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=108, Invalid=542, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:27:38,192 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:27:38,192 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 140 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:27:38,192 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 04:27:38,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-04-28 04:27:38,229 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:27:38,230 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:27:38,230 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:27:38,230 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:27:38,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:38,231 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-28 04:27:38,231 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 04:27:38,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:27:38,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:27:38,232 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-28 04:27:38,232 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-28 04:27:38,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:38,233 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-28 04:27:38,233 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 04:27:38,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:27:38,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:27:38,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:27:38,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:27:38,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:27:38,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-28 04:27:38,236 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-28 04:27:38,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:27:38,236 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-28 04:27:38,236 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:27:38,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-28 04:27:48,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 04:27:48,348 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-28 04:27:48,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 04:27:48,348 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:27:48,348 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:27:48,365 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 04:27:48,549 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:27:48,549 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:27:48,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:27:48,549 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 1 times [2022-04-28 04:27:48,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:27:48,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1410944544] [2022-04-28 04:27:54,649 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:27:54,649 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:27:54,649 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:27:54,649 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 2 times [2022-04-28 04:27:54,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:27:54,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2073384920] [2022-04-28 04:27:54,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:27:54,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:27:54,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:27:54,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1962940414] [2022-04-28 04:27:54,660 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:27:54,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:27:54,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:27:54,661 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:27:54,662 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 04:27:54,699 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:27:54,699 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:27:54,700 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 04:27:54,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:27:54,767 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:28:05,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-28 04:28:05,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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(13, 2);call #Ultimate.allocInit(12, 3); {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:28:05,421 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:28:05,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:28:05,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:28:05,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} {2794#true} #58#return; {2831#(<= 1 main_~b~0)} is VALID [2022-04-28 04:28:05,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {2831#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:28:05,423 INFO L290 TraceCheckUtils]: 12: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:28:05,423 INFO L272 TraceCheckUtils]: 13: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:28:05,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:05,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:05,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:05,425 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:28:05,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:28:05,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2862#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:28:05,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {2862#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:28:05,427 INFO L290 TraceCheckUtils]: 21: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:28:05,427 INFO L272 TraceCheckUtils]: 22: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:28:05,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-28 04:28:05,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-28 04:28:05,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-28 04:28:05,428 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #60#return; {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:28:05,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:28:05,429 INFO L290 TraceCheckUtils]: 28: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 04:28:05,430 INFO L290 TraceCheckUtils]: 29: Hoare triple {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 04:28:05,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 04:28:05,792 INFO L272 TraceCheckUtils]: 31: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:28:05,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:05,793 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-28 04:28:05,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-28 04:28:05,794 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:28:05,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:30:53,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-28 04:30:53,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-28 04:30:53,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:30:53,911 INFO L272 TraceCheckUtils]: 31: Hoare triple {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:30:53,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:30:53,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {2929#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:30:53,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2929#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:30:53,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:30:53,925 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #60#return; {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:30:53,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-28 04:30:53,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-28 04:30:53,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-28 04:30:53,925 INFO L272 TraceCheckUtils]: 22: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:30:53,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:30:54,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:30:54,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))} is VALID [2022-04-28 04:30:54,099 INFO L290 TraceCheckUtils]: 18: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !!(0 != ~y~0); {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-28 04:30:54,450 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2794#true} #60#return; {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-28 04:30:54,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:30:54,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:30:54,452 INFO L272 TraceCheckUtils]: 13: Hoare triple {2794#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {2794#true} assume !false; {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {2794#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2794#true} {2794#true} #58#return; {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-28 04:30:54,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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(13, 2);call #Ultimate.allocInit(12, 3); {2794#true} is VALID [2022-04-28 04:30:54,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-28 04:30:54,454 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:30:54,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:30:54,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2073384920] [2022-04-28 04:30:54,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:30:54,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1962940414] [2022-04-28 04:30:54,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1962940414] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:30:54,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:30:54,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 04:30:54,455 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:30:54,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1410944544] [2022-04-28 04:30:54,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1410944544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:30:54,455 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:30:54,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:30:54,455 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [230394201] [2022-04-28 04:30:54,455 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:30:54,455 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:30:54,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:30:54,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:30:54,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:30:54,643 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:30:54,643 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:30:54,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:30:54,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:30:54,644 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:30:57,504 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:31:02,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:31:02,617 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 04:31:02,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:31:02,617 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:31:02,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:31:02,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:31:02,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 04:31:02,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:31:02,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 04:31:02,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-28 04:31:02,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:31:02,794 INFO L225 Difference]: With dead ends: 68 [2022-04-28 04:31:02,794 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 04:31:02,794 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 6.2s TimeCoverageRelationStatistics Valid=88, Invalid=418, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:31:02,794 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:31:02,795 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 134 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 4.1s Time] [2022-04-28 04:31:02,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 04:31:02,833 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 56. [2022-04-28 04:31:02,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:31:02,834 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:31:02,834 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:31:02,834 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:31:02,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:31:02,836 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-28 04:31:02,836 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-28 04:31:02,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:31:02,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:31:02,836 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-28 04:31:02,836 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-28 04:31:02,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:31:02,838 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-28 04:31:02,838 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-28 04:31:02,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:31:02,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:31:02,838 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:31:02,838 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:31:02,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:31:02,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-28 04:31:02,840 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-28 04:31:02,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:31:02,840 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-28 04:31:02,840 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:31:02,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-28 04:31:13,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 04:31:13,020 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-28 04:31:13,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 04:31:13,020 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:31:13,020 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:31:13,038 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 04:31:13,220 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:31:13,221 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:31:13,221 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:31:13,221 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 3 times [2022-04-28 04:31:13,221 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:31:13,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [645060560] [2022-04-28 04:31:17,515 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:31:17,515 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:31:17,515 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:31:17,516 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 4 times [2022-04-28 04:31:17,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:31:17,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [19858344] [2022-04-28 04:31:17,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:31:17,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:31:17,525 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:31:17,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1794027345] [2022-04-28 04:31:17,525 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:31:17,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:31:17,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:31:17,526 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:31:17,529 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 04:31:17,558 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:31:17,559 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:31:17,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 04:31:17,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:31:17,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:31:22,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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(13, 2);call #Ultimate.allocInit(12, 3); {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-28 04:31:22,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:31:22,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-28 04:31:22,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:31:22,829 INFO L290 TraceCheckUtils]: 12: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:31:22,829 INFO L272 TraceCheckUtils]: 13: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:31:22,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-28 04:31:22,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-28 04:31:22,829 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:31:22,830 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #60#return; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:31:22,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3469#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:31:22,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {3469#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:31:22,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:31:22,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:31:22,833 INFO L272 TraceCheckUtils]: 22: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:31:22,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:31:22,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:31:22,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:31:22,835 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #60#return; {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:31:22,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:31:22,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 04:31:22,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 04:31:22,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !false; {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 04:31:23,350 INFO L272 TraceCheckUtils]: 31: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:31:23,351 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:31:23,351 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-28 04:31:23,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-28 04:31:23,351 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:31:23,351 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:34:02,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-28 04:34:02,079 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-28 04:34:02,079 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:02,080 INFO L272 TraceCheckUtils]: 31: Hoare triple {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:02,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:34:02,108 INFO L290 TraceCheckUtils]: 29: Hoare triple {3542#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:34:02,109 INFO L290 TraceCheckUtils]: 28: Hoare triple {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3542#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:34:02,110 INFO L290 TraceCheckUtils]: 27: Hoare triple {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:34:02,112 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #60#return; {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:34:02,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:02,113 INFO L290 TraceCheckUtils]: 24: Hoare triple {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:02,113 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:34:02,113 INFO L272 TraceCheckUtils]: 22: Hoare triple {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:34:02,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:34:02,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:34:02,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {3409#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} is VALID [2022-04-28 04:34:02,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {3409#true} assume !!(0 != ~y~0); {3409#true} is VALID [2022-04-28 04:34:02,162 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3409#true} #60#return; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L272 TraceCheckUtils]: 13: Hoare triple {3409#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 12: Hoare triple {3409#true} assume !false; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-28 04:34:02,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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(13, 2);call #Ultimate.allocInit(12, 3); {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-28 04:34:02,164 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:34:02,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:34:02,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [19858344] [2022-04-28 04:34:02,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:34:02,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1794027345] [2022-04-28 04:34:02,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1794027345] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:34:02,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:34:02,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 04:34:02,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:34:02,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [645060560] [2022-04-28 04:34:02,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [645060560] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:34:02,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:34:02,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:34:02,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936042937] [2022-04-28 04:34:02,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:34:02,166 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:34:02,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:34:02,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:34:04,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:04,204 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:34:04,204 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:04,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:34:04,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:34:04,204 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:34:06,629 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:08,631 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:13,796 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:21,317 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:23,268 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.69s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:25,270 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:31,124 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.15s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:33,563 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.42s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:34:33,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:33,776 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 04:34:33,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:34:33,776 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 04:34:33,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:34:33,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:34:33,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-28 04:34:33,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:34:33,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-28 04:34:33,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 51 transitions. [2022-04-28 04:34:34,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:34,032 INFO L225 Difference]: With dead ends: 73 [2022-04-28 04:34:34,033 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 04:34:34,033 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 51 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=75, Invalid=305, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:34:34,033 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 17 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 2 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 16.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 16.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:34:34,033 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 228 Invalid, 3 Unknown, 0 Unchecked, 16.3s Time] [2022-04-28 04:34:34,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 04:34:34,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 61. [2022-04-28 04:34:34,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:34:34,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:34,093 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:34,093 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:34,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:34,095 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-28 04:34:34,095 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-28 04:34:34,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:34,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:34,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 04:34:34,096 INFO L87 Difference]: Start difference. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 04:34:34,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:34,097 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-28 04:34:34,097 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-28 04:34:34,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:34,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:34,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:34:34,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:34:34,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:34,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 67 transitions. [2022-04-28 04:34:34,102 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 67 transitions. Word has length 35 [2022-04-28 04:34:34,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:34:34,102 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 67 transitions. [2022-04-28 04:34:34,103 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:34:34,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 67 transitions. [2022-04-28 04:34:48,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 60 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:48,360 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 04:34:48,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 04:34:48,360 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:34:48,360 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:34:48,376 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 04:34:48,565 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 04:34:48,567 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:34:48,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:34:48,567 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 5 times [2022-04-28 04:34:48,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:48,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1911447621] [2022-04-28 04:34:50,997 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:34:50,997 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:34:50,997 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:34:50,997 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 6 times [2022-04-28 04:34:50,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:34:50,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232888968] [2022-04-28 04:34:50,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:34:50,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:34:51,005 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:34:51,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [685224627] [2022-04-28 04:34:51,006 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:34:51,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:34:51,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:34:51,007 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:34:51,008 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 04:34:51,075 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:34:51,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:34:51,076 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 04:34:51,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:34:51,106 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:35:19,957 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:35:23,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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(13, 2);call #Ultimate.allocInit(12, 3); {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-28 04:35:23,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:23,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:35:23,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:35:23,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:35:23,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4087#(<= 1 main_~b~0)} is VALID [2022-04-28 04:35:23,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {4087#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,778 INFO L272 TraceCheckUtils]: 13: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:23,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-28 04:35:23,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-28 04:35:23,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:23,779 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #60#return; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} is VALID [2022-04-28 04:35:23,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} assume !false; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,783 INFO L272 TraceCheckUtils]: 22: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:23,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-28 04:35:23,785 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-28 04:35:23,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:23,786 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,787 INFO L290 TraceCheckUtils]: 28: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} is VALID [2022-04-28 04:35:23,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} assume !false; {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,792 INFO L272 TraceCheckUtils]: 31: Hoare triple {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:23,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:23,792 INFO L290 TraceCheckUtils]: 33: Hoare triple {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:23,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:23,793 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:23,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:35:25,744 INFO L290 TraceCheckUtils]: 38: Hoare triple {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 04:35:27,747 WARN L290 TraceCheckUtils]: 39: Hoare triple {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-28 04:35:28,167 INFO L272 TraceCheckUtils]: 40: Hoare triple {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:35:28,167 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:28,168 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-28 04:35:28,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-28 04:35:28,168 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:35:28,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:35:56,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-28 04:35:56,009 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-28 04:35:56,009 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:56,010 INFO L272 TraceCheckUtils]: 40: Hoare triple {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:35:56,010 INFO L290 TraceCheckUtils]: 39: Hoare triple {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:35:56,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {4218#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:35:56,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4218#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:35:56,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:35:56,021 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #60#return; {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 04:35:56,021 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:56,021 INFO L290 TraceCheckUtils]: 33: Hoare triple {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:56,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:35:56,022 INFO L272 TraceCheckUtils]: 31: Hoare triple {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:56,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 04:35:56,024 INFO L290 TraceCheckUtils]: 29: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 04:35:56,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 04:35:56,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !!(0 != ~y~0); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 04:35:56,025 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} #60#return; {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 04:35:56,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:56,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-28 04:35:56,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-28 04:35:56,026 INFO L272 TraceCheckUtils]: 22: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:56,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !false; {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 04:35:56,031 INFO L290 TraceCheckUtils]: 20: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 04:35:56,032 INFO L290 TraceCheckUtils]: 19: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-28 04:35:56,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !!(0 != ~y~0); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-28 04:35:56,034 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} #60#return; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-28 04:35:56,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:56,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-28 04:35:56,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-28 04:35:56,035 INFO L272 TraceCheckUtils]: 13: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:56,035 INFO L290 TraceCheckUtils]: 12: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !false; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-28 04:35:56,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-28 04:35:56,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} is VALID [2022-04-28 04:35:56,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:35:56,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:35:56,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:35:56,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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(13, 2);call #Ultimate.allocInit(12, 3); {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-28 04:35:56,039 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 16 proven. 17 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:35:56,039 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:35:56,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232888968] [2022-04-28 04:35:56,040 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:35:56,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [685224627] [2022-04-28 04:35:56,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [685224627] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:35:56,040 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:35:56,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 15] total 29 [2022-04-28 04:35:56,040 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:35:56,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1911447621] [2022-04-28 04:35:56,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1911447621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:35:56,040 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:35:56,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 04:35:56,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841797005] [2022-04-28 04:35:56,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:35:56,041 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-28 04:35:56,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:35:56,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:35:57,797 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-28 04:35:57,798 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 04:35:57,798 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:35:57,798 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 04:35:57,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=655, Unknown=3, NotChecked=0, Total=812 [2022-04-28 04:35:57,799 INFO L87 Difference]: Start difference. First operand 61 states and 67 transitions. Second operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:36:11,876 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.51s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:36:18,693 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:36:21,805 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:36:26,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:26,809 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-28 04:36:26,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:36:26,810 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-28 04:36:26,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:36:26,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:36:26,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 53 transitions. [2022-04-28 04:36:26,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:36:26,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 53 transitions. [2022-04-28 04:36:26,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 53 transitions. [2022-04-28 04:36:33,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:33,863 INFO L225 Difference]: With dead ends: 79 [2022-04-28 04:36:33,863 INFO L226 Difference]: Without dead ends: 77 [2022-04-28 04:36:33,864 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 59 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 422 ImplicationChecksByTransitivity, 13.0s TimeCoverageRelationStatistics Valid=273, Invalid=1129, Unknown=4, NotChecked=0, Total=1406 [2022-04-28 04:36:33,864 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 41 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 25 IncrementalHoareTripleChecker+Unchecked, 8.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:36:33,864 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 111 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 146 Invalid, 0 Unknown, 25 Unchecked, 8.6s Time] [2022-04-28 04:36:33,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-28 04:36:33,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-28 04:36:33,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:36:33,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:33,937 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:33,937 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:33,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:33,938 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-28 04:36:33,938 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-28 04:36:33,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:33,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:33,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-28 04:36:33,939 INFO L87 Difference]: Start difference. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-28 04:36:33,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:33,940 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-28 04:36:33,940 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-28 04:36:33,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:33,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:33,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:36:33,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:36:33,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:33,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 77 transitions. [2022-04-28 04:36:33,942 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 77 transitions. Word has length 44 [2022-04-28 04:36:33,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:36:33,942 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 77 transitions. [2022-04-28 04:36:33,942 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:36:33,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 77 transitions. [2022-04-28 04:36:54,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 67 inductive. 0 not inductive. 10 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:54,360 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 04:36:54,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 04:36:54,360 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:36:54,361 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:36:54,380 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 04:36:54,577 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 04:36:54,578 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:36:54,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:36:54,578 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 5 times [2022-04-28 04:36:54,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:36:54,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1094750893] [2022-04-28 04:37:01,330 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:37:01,331 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:37:01,331 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:37:01,331 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 6 times [2022-04-28 04:37:01,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:37:01,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1052642440] [2022-04-28 04:37:01,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:37:01,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:37:01,344 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:37:01,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1701676582] [2022-04-28 04:37:01,344 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:37:01,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:37:01,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:37:01,345 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:37:01,347 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 04:37:01,382 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:37:01,382 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:37:01,383 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:37:01,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:01,447 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:37:11,485 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:37:23,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {4814#true} call ULTIMATE.init(); {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {4814#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(13, 2);call #Ultimate.allocInit(12, 3); {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4814#true} {4814#true} #64#return; {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {4814#true} call #t~ret6 := main(); {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {4814#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {4814#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:37:23,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:37:23,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:37:23,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:37:23,656 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4814#true} {4814#true} #58#return; {4814#true} is VALID [2022-04-28 04:37:23,656 INFO L290 TraceCheckUtils]: 11: Hoare triple {4814#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {4852#(= main_~z~0 0)} assume !false; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,657 INFO L272 TraceCheckUtils]: 13: Hoare triple {4852#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:37:23,657 INFO L290 TraceCheckUtils]: 14: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:37:23,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:37:23,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:37:23,657 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4814#true} {4852#(= main_~z~0 0)} #60#return; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,658 INFO L290 TraceCheckUtils]: 18: Hoare triple {4852#(= main_~z~0 0)} assume !!(0 != ~y~0); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {4852#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {4852#(= main_~z~0 0)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {4852#(= main_~z~0 0)} assume !false; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,659 INFO L272 TraceCheckUtils]: 22: Hoare triple {4852#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:37:23,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:37:23,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:37:23,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:37:23,660 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4814#true} {4852#(= main_~z~0 0)} #60#return; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {4852#(= main_~z~0 0)} assume !!(0 != ~y~0); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,660 INFO L290 TraceCheckUtils]: 28: Hoare triple {4852#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {4852#(= main_~z~0 0)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {4852#(= main_~z~0 0)} assume !false; {4852#(= main_~z~0 0)} is VALID [2022-04-28 04:37:23,661 INFO L272 TraceCheckUtils]: 31: Hoare triple {4852#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:37:23,661 INFO L290 TraceCheckUtils]: 32: Hoare triple {4814#true} ~cond := #in~cond; {4916#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:37:23,661 INFO L290 TraceCheckUtils]: 33: Hoare triple {4916#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:23,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:23,663 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} {4852#(= main_~z~0 0)} #60#return; {4927#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:37:23,663 INFO L290 TraceCheckUtils]: 36: Hoare triple {4927#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4931#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:37:23,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {4931#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4935#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 04:37:23,678 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4939#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} is VALID [2022-04-28 04:37:24,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {4939#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} assume !false; {4943#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 04:37:24,046 INFO L272 TraceCheckUtils]: 40: Hoare triple {4943#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4947#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:37:24,046 INFO L290 TraceCheckUtils]: 41: Hoare triple {4947#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4951#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:37:24,047 INFO L290 TraceCheckUtils]: 42: Hoare triple {4951#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4815#false} is VALID [2022-04-28 04:37:24,047 INFO L290 TraceCheckUtils]: 43: Hoare triple {4815#false} assume !false; {4815#false} is VALID [2022-04-28 04:37:24,047 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 15 proven. 9 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:37:24,047 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:38:36,266 INFO L290 TraceCheckUtils]: 43: Hoare triple {4815#false} assume !false; {4815#false} is VALID [2022-04-28 04:38:36,266 INFO L290 TraceCheckUtils]: 42: Hoare triple {4951#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4815#false} is VALID [2022-04-28 04:38:36,267 INFO L290 TraceCheckUtils]: 41: Hoare triple {4947#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4951#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:38:36,267 INFO L272 TraceCheckUtils]: 40: Hoare triple {4967#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4947#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:38:36,268 INFO L290 TraceCheckUtils]: 39: Hoare triple {4967#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4967#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:38:36,273 INFO L290 TraceCheckUtils]: 38: Hoare triple {4974#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4967#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 04:38:36,276 INFO L290 TraceCheckUtils]: 37: Hoare triple {4978#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4974#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 04:38:36,276 INFO L290 TraceCheckUtils]: 36: Hoare triple {4978#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4978#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:38:36,452 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} {4814#true} #60#return; {4978#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 04:38:36,452 INFO L290 TraceCheckUtils]: 34: Hoare triple {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:38:36,453 INFO L290 TraceCheckUtils]: 33: Hoare triple {4994#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:38:36,453 INFO L290 TraceCheckUtils]: 32: Hoare triple {4814#true} ~cond := #in~cond; {4994#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:38:36,453 INFO L272 TraceCheckUtils]: 31: Hoare triple {4814#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:38:36,453 INFO L290 TraceCheckUtils]: 30: Hoare triple {4814#true} assume !false; {4814#true} is VALID [2022-04-28 04:38:36,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {4814#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4814#true} is VALID [2022-04-28 04:38:36,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {4814#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {4814#true} assume !!(0 != ~y~0); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4814#true} {4814#true} #60#return; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 24: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L272 TraceCheckUtils]: 22: Hoare triple {4814#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {4814#true} assume !false; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 20: Hoare triple {4814#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 19: Hoare triple {4814#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {4814#true} assume !!(0 != ~y~0); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4814#true} {4814#true} #60#return; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 16: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:38:36,454 INFO L272 TraceCheckUtils]: 13: Hoare triple {4814#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {4814#true} assume !false; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {4814#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4814#true} {4814#true} #58#return; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {4814#true} assume !(0 == ~cond); {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {4814#true} ~cond := #in~cond; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L272 TraceCheckUtils]: 6: Hoare triple {4814#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {4814#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {4814#true} call #t~ret6 := main(); {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4814#true} {4814#true} #64#return; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {4814#true} assume true; {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {4814#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(13, 2);call #Ultimate.allocInit(12, 3); {4814#true} is VALID [2022-04-28 04:38:36,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {4814#true} call ULTIMATE.init(); {4814#true} is VALID [2022-04-28 04:38:36,456 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:38:36,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:38:36,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1052642440] [2022-04-28 04:38:36,456 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:38:36,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1701676582] [2022-04-28 04:38:36,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1701676582] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:38:36,456 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:38:36,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 04:38:36,456 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:38:36,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1094750893] [2022-04-28 04:38:36,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1094750893] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:38:36,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:38:36,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:38:36,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774324733] [2022-04-28 04:38:36,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:38:36,457 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-28 04:38:36,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:38:36,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:38:36,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:36,823 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:38:36,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:36,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:38:36,824 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=190, Unknown=2, NotChecked=0, Total=240 [2022-04-28 04:38:36,824 INFO L87 Difference]: Start difference. First operand 70 states and 77 transitions. Second operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:38:37,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:37,427 INFO L93 Difference]: Finished difference Result 98 states and 107 transitions. [2022-04-28 04:38:37,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:38:37,427 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-28 04:38:37,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:38:37,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:38:37,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-28 04:38:37,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:38:37,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-28 04:38:37,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 43 transitions. [2022-04-28 04:38:37,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:37,464 INFO L225 Difference]: With dead ends: 98 [2022-04-28 04:38:37,464 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 04:38:37,464 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 71 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 10.1s TimeCoverageRelationStatistics Valid=61, Invalid=243, Unknown=2, NotChecked=0, Total=306 [2022-04-28 04:38:37,465 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 17 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 116 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 17 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:38:37,465 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 118 Invalid, 116 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 94 Invalid, 0 Unknown, 17 Unchecked, 0.1s Time] [2022-04-28 04:38:37,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 04:38:37,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-28 04:38:37,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:38:37,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:37,579 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:37,579 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:37,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:37,581 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-28 04:38:37,581 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-28 04:38:37,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:37,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:37,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-28 04:38:37,581 INFO L87 Difference]: Start difference. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-28 04:38:37,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:37,583 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-28 04:38:37,583 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-28 04:38:37,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:37,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:37,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:38:37,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:38:37,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:37,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 98 transitions. [2022-04-28 04:38:37,585 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 98 transitions. Word has length 44 [2022-04-28 04:38:37,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:38:37,585 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 98 transitions. [2022-04-28 04:38:37,585 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:38:37,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 98 transitions. [2022-04-28 04:39:05,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 85 inductive. 0 not inductive. 13 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:05,821 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2022-04-28 04:39:05,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 04:39:05,822 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:05,822 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:05,838 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 04:39:06,022 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 04:39:06,022 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:06,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:06,023 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 7 times [2022-04-28 04:39:06,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:06,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [638074748] [2022-04-28 04:39:14,136 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:39:14,137 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:39:14,137 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:39:14,137 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 8 times [2022-04-28 04:39:14,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:14,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940745250] [2022-04-28 04:39:14,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:14,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:14,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:14,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1582927368] [2022-04-28 04:39:14,146 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:14,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:14,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:14,147 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:39:14,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 04:39:14,196 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:14,196 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:14,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 04:39:14,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:14,215 INFO L286 TraceCheckSpWp]: Computing forward predicates...