/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 12:47:55,660 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 12:47:55,661 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 12:47:55,705 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 12:47:55,706 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 12:47:55,707 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 12:47:55,710 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 12:47:55,712 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 12:47:55,713 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 12:47:55,717 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 12:47:55,718 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 12:47:55,719 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 12:47:55,719 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 12:47:55,721 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 12:47:55,722 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 12:47:55,724 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 12:47:55,725 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 12:47:55,725 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 12:47:55,727 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 12:47:55,732 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 12:47:55,733 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 12:47:55,734 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 12:47:55,735 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 12:47:55,735 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 12:47:55,737 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 12:47:55,742 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 12:47:55,743 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 12:47:55,743 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 12:47:55,743 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 12:47:55,744 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 12:47:55,745 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 12:47:55,745 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 12:47:55,746 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 12:47:55,747 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 12:47:55,747 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 12:47:55,748 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 12:47:55,748 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 12:47:55,749 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 12:47:55,749 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 12:47:55,749 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 12:47:55,749 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 12:47:55,751 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 12:47:55,751 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-07 12:47:55,780 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 12:47:55,781 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 12:47:55,781 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 12:47:55,781 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 12:47:55,782 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 12:47:55,782 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 12:47:55,782 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 12:47:55,782 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 12:47:55,782 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 12:47:55,783 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 12:47:55,783 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 12:47:55,783 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 12:47:55,783 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 12:47:55,783 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 12:47:55,784 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 12:47:55,784 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 12:47:55,784 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 12:47:55,785 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 12:47:55,785 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 12:47:55,785 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 12:47:55,785 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 12:47:55,785 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 12:47:55,785 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:47:55,786 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 12:47:55,786 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 12:47:55,787 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 12:47:55,787 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 12:47:55,787 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-07 12:47:55,997 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 12:47:56,018 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 12:47:56,020 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 12:47:56,021 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 12:47:56,022 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 12:47:56,023 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c [2022-04-07 12:47:56,084 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b71b49a9f/254752fb0f0c4da18269ce9deed5d466/FLAG912cd9f14 [2022-04-07 12:47:56,412 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 12:47:56,413 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c [2022-04-07 12:47:56,418 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b71b49a9f/254752fb0f0c4da18269ce9deed5d466/FLAG912cd9f14 [2022-04-07 12:47:56,822 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b71b49a9f/254752fb0f0c4da18269ce9deed5d466 [2022-04-07 12:47:56,824 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 12:47:56,825 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 12:47:56,826 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 12:47:56,826 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 12:47:56,829 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 12:47:56,829 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:47:56" (1/1) ... [2022-04-07 12:47:56,830 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@731ffe72 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:56, skipping insertion in model container [2022-04-07 12:47:56,830 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:47:56" (1/1) ... [2022-04-07 12:47:56,835 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 12:47:56,846 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 12:47:56,955 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c[597,610] [2022-04-07 12:47:56,983 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:47:56,990 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 12:47:57,001 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c[597,610] [2022-04-07 12:47:57,008 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:47:57,019 INFO L208 MainTranslator]: Completed translation [2022-04-07 12:47:57,019 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57 WrapperNode [2022-04-07 12:47:57,019 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 12:47:57,020 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 12:47:57,020 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 12:47:57,020 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 12:47:57,028 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,028 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,033 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,033 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,037 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,041 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,042 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,043 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 12:47:57,044 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 12:47:57,044 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 12:47:57,044 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 12:47:57,045 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (1/1) ... [2022-04-07 12:47:57,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:47:57,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:47:57,076 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-07 12:47:57,097 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-07 12:47:57,123 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 12:47:57,123 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 12:47:57,123 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 12:47:57,124 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 12:47:57,126 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 12:47:57,126 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 12:47:57,126 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 12:47:57,126 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 12:47:57,126 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 12:47:57,127 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 12:47:57,127 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 12:47:57,127 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 12:47:57,127 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 12:47:57,127 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 12:47:57,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 12:47:57,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 12:47:57,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 12:47:57,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 12:47:57,129 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 12:47:57,129 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 12:47:57,187 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 12:47:57,188 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 12:47:57,402 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 12:47:57,407 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 12:47:57,407 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 12:47:57,409 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:47:57 BoogieIcfgContainer [2022-04-07 12:47:57,409 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 12:47:57,411 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 12:47:57,411 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 12:47:57,414 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 12:47:57,414 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 12:47:56" (1/3) ... [2022-04-07 12:47:57,414 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@569ab637 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:47:57, skipping insertion in model container [2022-04-07 12:47:57,414 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:47:57" (2/3) ... [2022-04-07 12:47:57,415 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@569ab637 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:47:57, skipping insertion in model container [2022-04-07 12:47:57,415 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:47:57" (3/3) ... [2022-04-07 12:47:57,416 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound5.c [2022-04-07 12:47:57,420 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 12:47:57,420 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 12:47:57,458 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 12:47:57,463 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-07 12:47:57,463 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 12:47:57,481 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 12:47:57,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-07 12:47:57,485 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:47:57,486 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:47:57,486 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:47:57,490 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:47:57,490 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-07 12:47:57,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:47:57,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1488267485] [2022-04-07 12:47:57,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:47:57,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:47:57,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:57,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 12:47:57,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:57,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-07 12:47:57,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-07 12:47:57,714 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-07 12:47:57,715 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 12:47:57,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-07 12:47:57,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-07 12:47:57,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-07 12:47:57,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-07 12:47:57,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-07 12:47:57,721 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-07 12:47:57,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-07 12:47:57,721 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {29#false} is VALID [2022-04-07 12:47:57,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-07 12:47:57,722 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-07 12:47:57,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-07 12:47:57,723 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 12:47:57,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:47:57,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1488267485] [2022-04-07 12:47:57,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1488267485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:47:57,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:47:57,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 12:47:57,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775010273] [2022-04-07 12:47:57,726 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:47:57,730 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-07 12:47:57,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:47:57,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:57,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:47:57,760 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 12:47:57,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:47:57,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 12:47:57,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:47:57,783 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:57,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:57,921 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-07 12:47:57,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 12:47:57,922 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-07 12:47:57,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:47:57,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:57,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-07 12:47:57,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:57,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-07 12:47:57,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-07 12:47:58,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:47:58,036 INFO L225 Difference]: With dead ends: 45 [2022-04-07 12:47:58,036 INFO L226 Difference]: Without dead ends: 21 [2022-04-07 12:47:58,039 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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-07 12:47:58,042 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:47:58,043 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:47:58,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-07 12:47:58,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-07 12:47:58,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:47:58,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 12:47:58,073 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 12:47:58,073 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 12:47:58,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:58,077 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-07 12:47:58,077 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-07 12:47:58,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:47:58,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:47:58,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-07 12:47:58,079 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-07 12:47:58,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:58,082 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-07 12:47:58,083 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-07 12:47:58,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:47:58,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:47:58,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:47:58,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:47:58,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 12:47:58,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-07 12:47:58,087 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-07 12:47:58,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:47:58,087 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-07 12:47:58,088 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,089 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-07 12:47:58,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-07 12:47:58,092 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:47:58,092 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:47:58,092 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 12:47:58,093 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:47:58,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:47:58,093 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-07 12:47:58,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:47:58,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1226443862] [2022-04-07 12:47:58,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:47:58,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:47:58,122 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:47:58,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1917819236] [2022-04-07 12:47:58,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:47:58,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:47:58,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:47:58,126 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-07 12:47:58,127 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-07 12:47:58,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:58,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 12:47:58,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:58,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:47:58,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {164#true} call ULTIMATE.init(); {164#true} is VALID [2022-04-07 12:47:58,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {164#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {164#true} is VALID [2022-04-07 12:47:58,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {164#true} assume true; {164#true} is VALID [2022-04-07 12:47:58,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {164#true} {164#true} #62#return; {164#true} is VALID [2022-04-07 12:47:58,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {164#true} call #t~ret9 := main(); {164#true} is VALID [2022-04-07 12:47:58,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {164#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:58,399 INFO L290 TraceCheckUtils]: 6: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:58,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {191#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-07 12:47:58,401 INFO L272 TraceCheckUtils]: 8: Hoare triple {191#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:47:58,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:47:58,402 INFO L290 TraceCheckUtils]: 10: Hoare triple {199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {165#false} is VALID [2022-04-07 12:47:58,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {165#false} assume !false; {165#false} is VALID [2022-04-07 12:47:58,403 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-07 12:47:58,403 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:47:58,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:47:58,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1226443862] [2022-04-07 12:47:58,403 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:47:58,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1917819236] [2022-04-07 12:47:58,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1917819236] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:47:58,404 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:47:58,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 12:47:58,405 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [461022263] [2022-04-07 12:47:58,405 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:47:58,406 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-07 12:47:58,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:47:58,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:47:58,445 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 12:47:58,446 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:47:58,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 12:47:58,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:47:58,449 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:58,644 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-07 12:47:58,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 12:47:58,645 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-07 12:47:58,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:47:58,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-07 12:47:58,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-07 12:47:58,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-07 12:47:58,683 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-07 12:47:58,684 INFO L225 Difference]: With dead ends: 34 [2022-04-07 12:47:58,684 INFO L226 Difference]: Without dead ends: 29 [2022-04-07 12:47:58,685 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 12:47:58,686 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:47:58,686 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:47:58,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-07 12:47:58,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-07 12:47:58,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:47:58,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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-07 12:47:58,694 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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-07 12:47:58,694 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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-07 12:47:58,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:58,696 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-07 12:47:58,696 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-07 12:47:58,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:47:58,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:47:58,697 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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 29 states. [2022-04-07 12:47:58,697 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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 29 states. [2022-04-07 12:47:58,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:47:58,699 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-07 12:47:58,699 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-07 12:47:58,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:47:58,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:47:58,699 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:47:58,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:47:58,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 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-07 12:47:58,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-07 12:47:58,701 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-07 12:47:58,701 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:47:58,701 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-07 12:47:58,702 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-07 12:47:58,702 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-07 12:47:58,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 12:47:58,702 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:47:58,702 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:47:58,729 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-07 12:47:58,925 WARN L460 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-07 12:47:58,925 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:47:58,926 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:47:58,926 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-07 12:47:58,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:47:58,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595355023] [2022-04-07 12:47:58,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:47:58,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:47:58,942 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:47:58,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1424769193] [2022-04-07 12:47:58,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:47:58,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:47:58,943 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:47:58,944 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-07 12:47:58,946 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-07 12:47:58,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:58,991 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 12:47:59,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:47:59,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:47:59,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-07 12:47:59,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {352#true} is VALID [2022-04-07 12:47:59,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-07 12:47:59,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-07 12:47:59,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-07 12:47:59,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:59,235 INFO L290 TraceCheckUtils]: 6: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:59,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:59,238 INFO L272 TraceCheckUtils]: 8: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {352#true} is VALID [2022-04-07 12:47:59,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-07 12:47:59,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-07 12:47:59,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-07 12:47:59,243 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:59,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:47:59,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {400#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:47:59,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {400#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:47:59,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:47:59,247 INFO L290 TraceCheckUtils]: 17: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:47:59,248 INFO L272 TraceCheckUtils]: 18: Hoare triple {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:47:59,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:47:59,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-07 12:47:59,249 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-07 12:47:59,250 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 12:47:59,250 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:47:59,446 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-07 12:47:59,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-07 12:47:59,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:47:59,448 INFO L272 TraceCheckUtils]: 18: Hoare triple {435#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:47:59,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {435#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-07 12:47:59,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {446#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {446#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-07 12:47:59,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,458 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-07 12:47:59,458 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-07 12:47:59,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-07 12:47:59,459 INFO L272 TraceCheckUtils]: 8: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {352#true} is VALID [2022-04-07 12:47:59,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:47:59,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-07 12:47:59,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-07 12:47:59,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-07 12:47:59,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {352#true} is VALID [2022-04-07 12:47:59,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-07 12:47:59,462 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-07 12:47:59,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:47:59,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595355023] [2022-04-07 12:47:59,462 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:47:59,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1424769193] [2022-04-07 12:47:59,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1424769193] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:47:59,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:47:59,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-07 12:47:59,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340541144] [2022-04-07 12:47:59,463 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:47:59,464 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-07 12:47:59,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:47:59,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 12:47:59,493 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-07 12:47:59,493 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 12:47:59,493 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:47:59,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 12:47:59,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 12:47:59,494 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 12:48:00,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:00,059 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-04-07 12:48:00,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 12:48:00,059 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-07 12:48:00,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:48:00,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 12:48:00,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-07 12:48:00,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 12:48:00,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-07 12:48:00,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-07 12:48:00,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:48:00,136 INFO L225 Difference]: With dead ends: 45 [2022-04-07 12:48:00,136 INFO L226 Difference]: Without dead ends: 38 [2022-04-07 12:48:00,137 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-07 12:48:00,138 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 20 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 165 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:48:00,138 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 100 Invalid, 165 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 12:48:00,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-07 12:48:00,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 36. [2022-04-07 12:48:00,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:48:00,145 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 12:48:00,145 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 12:48:00,145 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 12:48:00,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:00,148 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-07 12:48:00,148 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-07 12:48:00,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:00,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:00,148 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 38 states. [2022-04-07 12:48:00,149 INFO L87 Difference]: Start difference. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 38 states. [2022-04-07 12:48:00,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:00,151 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-07 12:48:00,151 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-07 12:48:00,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:00,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:00,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:48:00,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:48:00,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 12:48:00,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2022-04-07 12:48:00,153 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 22 [2022-04-07 12:48:00,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:48:00,154 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2022-04-07 12:48:00,154 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 12:48:00,154 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2022-04-07 12:48:00,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:48:00,155 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:48:00,155 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:48:00,174 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-07 12:48:00,367 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-07 12:48:00,368 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:48:00,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:48:00,368 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-07 12:48:00,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:48:00,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2041382900] [2022-04-07 12:48:00,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:00,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:48:00,404 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:48:00,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [580589252] [2022-04-07 12:48:00,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:00,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:48:00,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:48:00,407 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-07 12:48:00,414 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-07 12:48:00,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:00,454 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 12:48:00,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:00,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:48:00,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-07 12:48:00,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-07 12:48:00,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {696#(<= ~counter~0 0)} assume true; {696#(<= ~counter~0 0)} is VALID [2022-04-07 12:48:00,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {696#(<= ~counter~0 0)} {688#true} #62#return; {696#(<= ~counter~0 0)} is VALID [2022-04-07 12:48:00,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {696#(<= ~counter~0 0)} call #t~ret9 := main(); {696#(<= ~counter~0 0)} is VALID [2022-04-07 12:48:00,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {696#(<= ~counter~0 0)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-07 12:48:00,588 INFO L290 TraceCheckUtils]: 6: Hoare triple {696#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {712#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,591 INFO L272 TraceCheckUtils]: 8: Hoare triple {712#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {712#(<= ~counter~0 1)} ~cond := #in~cond; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,592 INFO L290 TraceCheckUtils]: 10: Hoare triple {712#(<= ~counter~0 1)} assume !(0 == ~cond); {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {712#(<= ~counter~0 1)} assume true; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,593 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {712#(<= ~counter~0 1)} {712#(<= ~counter~0 1)} #58#return; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,594 INFO L290 TraceCheckUtils]: 13: Hoare triple {712#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {712#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {712#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {712#(<= ~counter~0 1)} is VALID [2022-04-07 12:48:00,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {712#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {743#(<= |main_#t~post6| 1)} is VALID [2022-04-07 12:48:00,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {743#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {689#false} is VALID [2022-04-07 12:48:00,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-07 12:48:00,597 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {689#false} is VALID [2022-04-07 12:48:00,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-07 12:48:00,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-07 12:48:00,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-07 12:48:00,598 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-07 12:48:00,598 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:48:00,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-07 12:48:00,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-07 12:48:00,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-07 12:48:00,737 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {689#false} is VALID [2022-04-07 12:48:00,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-07 12:48:00,737 INFO L290 TraceCheckUtils]: 17: Hoare triple {777#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {689#false} is VALID [2022-04-07 12:48:00,738 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {777#(< |main_#t~post6| 5)} is VALID [2022-04-07 12:48:00,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#(< ~counter~0 5)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#(< ~counter~0 5)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#(< ~counter~0 5)} assume !!(~x~0 <= ~X~0); {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,742 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {688#true} {781#(< ~counter~0 5)} #58#return; {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {688#true} assume true; {688#true} is VALID [2022-04-07 12:48:00,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {688#true} assume !(0 == ~cond); {688#true} is VALID [2022-04-07 12:48:00,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {688#true} ~cond := #in~cond; {688#true} is VALID [2022-04-07 12:48:00,742 INFO L272 TraceCheckUtils]: 8: Hoare triple {781#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {688#true} is VALID [2022-04-07 12:48:00,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {812#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {781#(< ~counter~0 5)} is VALID [2022-04-07 12:48:00,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#(< ~counter~0 4)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {812#(< ~counter~0 4)} is VALID [2022-04-07 12:48:00,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#(< ~counter~0 4)} call #t~ret9 := main(); {812#(< ~counter~0 4)} is VALID [2022-04-07 12:48:00,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#(< ~counter~0 4)} {688#true} #62#return; {812#(< ~counter~0 4)} is VALID [2022-04-07 12:48:00,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#(< ~counter~0 4)} assume true; {812#(< ~counter~0 4)} is VALID [2022-04-07 12:48:00,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {812#(< ~counter~0 4)} is VALID [2022-04-07 12:48:00,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-07 12:48:00,746 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-07 12:48:00,746 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:48:00,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2041382900] [2022-04-07 12:48:00,746 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:48:00,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [580589252] [2022-04-07 12:48:00,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [580589252] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:48:00,747 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:48:00,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 12:48:00,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294093753] [2022-04-07 12:48:00,747 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:48:00,748 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-07 12:48:00,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:48:00,748 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 12:48:00,781 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-07 12:48:00,782 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 12:48:00,782 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:48:00,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 12:48:00,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 12:48:00,783 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 12:48:01,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:01,008 INFO L93 Difference]: Finished difference Result 77 states and 85 transitions. [2022-04-07 12:48:01,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 12:48:01,008 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-07 12:48:01,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:48:01,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 12:48:01,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-07 12:48:01,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 12:48:01,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-07 12:48:01,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-07 12:48:01,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:48:01,081 INFO L225 Difference]: With dead ends: 77 [2022-04-07 12:48:01,081 INFO L226 Difference]: Without dead ends: 71 [2022-04-07 12:48:01,081 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 12:48:01,082 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 47 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:48:01,082 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 115 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:48:01,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-07 12:48:01,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 59. [2022-04-07 12:48:01,100 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:48:01,101 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:01,101 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:01,102 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:01,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:01,104 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-07 12:48:01,104 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-07 12:48:01,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:01,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:01,106 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 71 states. [2022-04-07 12:48:01,106 INFO L87 Difference]: Start difference. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 71 states. [2022-04-07 12:48:01,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:01,109 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-07 12:48:01,109 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-07 12:48:01,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:01,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:01,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:48:01,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:48:01,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:01,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2022-04-07 12:48:01,112 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 23 [2022-04-07 12:48:01,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:48:01,112 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2022-04-07 12:48:01,113 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 12:48:01,113 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2022-04-07 12:48:01,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 12:48:01,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:48:01,114 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:48:01,142 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-07 12:48:01,339 WARN L460 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-07 12:48:01,340 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:48:01,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:48:01,340 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-07 12:48:01,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:48:01,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2024932023] [2022-04-07 12:48:01,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:01,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:48:01,353 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:48:01,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1412530735] [2022-04-07 12:48:01,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:01,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:48:01,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:48:01,355 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-07 12:48:01,360 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-07 12:48:01,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:01,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 12:48:01,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:01,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:48:01,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-07 12:48:01,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1165#true} is VALID [2022-04-07 12:48:01,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-07 12:48:01,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-07 12:48:01,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-07 12:48:01,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:48:01,896 INFO L290 TraceCheckUtils]: 6: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:48:01,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:48:01,896 INFO L272 TraceCheckUtils]: 8: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-07 12:48:01,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-07 12:48:01,897 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-07 12:48:01,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-07 12:48:01,898 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:48:01,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1210#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:48:01,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-07 12:48:01,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-07 12:48:01,900 INFO L290 TraceCheckUtils]: 16: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-07 12:48:01,900 INFO L290 TraceCheckUtils]: 17: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-07 12:48:01,900 INFO L272 TraceCheckUtils]: 18: Hoare triple {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-07 12:48:01,901 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:01,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:01,902 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:01,903 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-07 12:48:01,904 INFO L290 TraceCheckUtils]: 23: Hoare triple {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-07 12:48:01,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-07 12:48:01,906 INFO L272 TraceCheckUtils]: 25: Hoare triple {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:48:01,906 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:01,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-07 12:48:01,907 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-07 12:48:01,907 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:48:01,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:48:02,764 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-07 12:48:02,765 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-07 12:48:02,766 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:02,767 INFO L272 TraceCheckUtils]: 25: Hoare triple {1275#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:48:02,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {1279#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1275#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:48:02,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {1283#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1279#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:02,770 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1287#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #58#return; {1283#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-07 12:48:02,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:02,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:02,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:48:02,772 INFO L272 TraceCheckUtils]: 18: Hoare triple {1287#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-07 12:48:02,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1287#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-07 12:48:02,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-07 12:48:02,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {1311#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-07 12:48:02,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {1315#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1311#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-07 12:48:02,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {1165#true} assume !!(~x~0 <= ~X~0); {1315#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:48:02,780 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1165#true} #58#return; {1165#true} is VALID [2022-04-07 12:48:02,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-07 12:48:02,780 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L272 TraceCheckUtils]: 8: Hoare triple {1165#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {1165#true} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L290 TraceCheckUtils]: 6: Hoare triple {1165#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-07 12:48:02,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-07 12:48:02,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-07 12:48:02,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1165#true} is VALID [2022-04-07 12:48:02,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-07 12:48:02,782 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:48:02,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:48:02,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2024932023] [2022-04-07 12:48:02,782 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:48:02,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1412530735] [2022-04-07 12:48:02,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1412530735] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:48:02,783 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:48:02,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-07 12:48:02,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643616575] [2022-04-07 12:48:02,783 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:48:02,784 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-07 12:48:02,784 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:48:02,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 12:48:02,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:48:02,834 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-07 12:48:02,834 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:48:02,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-07 12:48:02,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-07 12:48:02,835 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 12:48:04,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:04,000 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-04-07 12:48:04,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-07 12:48:04,001 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-07 12:48:04,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:48:04,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 12:48:04,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-07 12:48:04,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 12:48:04,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-07 12:48:04,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 61 transitions. [2022-04-07 12:48:04,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:48:04,095 INFO L225 Difference]: With dead ends: 85 [2022-04-07 12:48:04,095 INFO L226 Difference]: Without dead ends: 77 [2022-04-07 12:48:04,096 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 38 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 265 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=222, Invalid=1110, Unknown=0, NotChecked=0, Total=1332 [2022-04-07 12:48:04,097 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 40 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 310 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:48:04,097 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 138 Invalid, 310 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 193 Invalid, 0 Unknown, 90 Unchecked, 0.3s Time] [2022-04-07 12:48:04,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-07 12:48:04,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 67. [2022-04-07 12:48:04,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:48:04,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:48:04,123 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:48:04,124 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:48:04,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:04,127 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-07 12:48:04,127 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-07 12:48:04,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:04,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:04,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-07 12:48:04,128 INFO L87 Difference]: Start difference. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-07 12:48:04,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:48:04,131 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-07 12:48:04,131 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-07 12:48:04,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:48:04,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:48:04,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:48:04,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:48:04,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:48:04,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 76 transitions. [2022-04-07 12:48:04,135 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 76 transitions. Word has length 29 [2022-04-07 12:48:04,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:48:04,135 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 76 transitions. [2022-04-07 12:48:04,135 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 12:48:04,135 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2022-04-07 12:48:04,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 12:48:04,136 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:48:04,136 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:48:04,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 12:48:04,351 WARN L460 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-07 12:48:04,351 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:48:04,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:48:04,352 INFO L85 PathProgramCache]: Analyzing trace with hash -1565736524, now seen corresponding path program 1 times [2022-04-07 12:48:04,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:48:04,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1077766322] [2022-04-07 12:48:04,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:04,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:48:04,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:48:04,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1942828244] [2022-04-07 12:48:04,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:48:04,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:48:04,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:48:04,373 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-07 12:48:04,375 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-07 12:48:04,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:04,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-07 12:48:04,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:48:04,442 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:48:19,435 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:48:24,236 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:48:42,679 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-07 12:48:42,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1752#true} is VALID [2022-04-07 12:48:42,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-07 12:48:42,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-07 12:48:42,679 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-07 12:48:42,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-07 12:48:42,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-07 12:48:42,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} is VALID [2022-04-07 12:48:42,681 INFO L272 TraceCheckUtils]: 8: Hoare triple {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:42,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:42,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:42,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:42,684 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,685 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,686 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:42,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-07 12:48:42,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-07 12:48:42,686 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-07 12:48:42,687 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:42,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-07 12:48:42,689 INFO L272 TraceCheckUtils]: 28: Hoare triple {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:42,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:42,690 INFO L290 TraceCheckUtils]: 30: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:42,690 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:42,691 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-07 12:48:42,692 INFO L290 TraceCheckUtils]: 33: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~x~0 <= ~X~0); {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-07 12:48:44,694 WARN L290 TraceCheckUtils]: 34: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-07 12:48:44,696 INFO L272 TraceCheckUtils]: 35: Hoare triple {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:48:44,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:44,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-07 12:48:44,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-07 12:48:44,697 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-07 12:48:44,697 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:48:48,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-07 12:48:48,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-07 12:48:48,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:48:48,584 INFO L272 TraceCheckUtils]: 35: Hoare triple {1890#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:48:48,585 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1890#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-07 12:48:48,585 INFO L290 TraceCheckUtils]: 33: Hoare triple {1894#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} assume !(~x~0 <= ~X~0); {1894#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:48,587 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1901#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {1894#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:48,587 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:48,587 INFO L290 TraceCheckUtils]: 30: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:48,588 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:48:48,588 INFO L272 TraceCheckUtils]: 28: Hoare triple {1901#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:48,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1901#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:48,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,591 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-07 12:48:48,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-07 12:48:48,591 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-07 12:48:48,591 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:48,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,592 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,592 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,594 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-07 12:48:48,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:48,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:48:48,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:48:48,595 INFO L272 TraceCheckUtils]: 8: Hoare triple {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-07 12:48:48,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} is VALID [2022-04-07 12:48:48,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:48,598 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-07 12:48:48,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-07 12:48:48,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-07 12:48:48,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-07 12:48:48,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1752#true} is VALID [2022-04-07 12:48:48,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-07 12:48:48,599 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-07 12:48:48,599 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:48:48,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1077766322] [2022-04-07 12:48:48,599 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:48:48,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1942828244] [2022-04-07 12:48:48,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1942828244] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:48:48,599 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:48:48,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2022-04-07 12:48:48,600 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474330933] [2022-04-07 12:48:48,600 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:48:48,600 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-07 12:48:48,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:48:48,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:50,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:48:50,636 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 12:48:50,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:48:50,637 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 12:48:50,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=247, Unknown=1, NotChecked=0, Total=306 [2022-04-07 12:48:50,637 INFO L87 Difference]: Start difference. First operand 67 states and 76 transitions. Second operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:48:53,353 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-07 12:48:57,427 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-07 12:48:59,473 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-07 12:49:01,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:01,908 INFO L93 Difference]: Finished difference Result 96 states and 113 transitions. [2022-04-07 12:49:01,908 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 12:49:01,909 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-07 12:49:01,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:49:01,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:49:01,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-07 12:49:01,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:49:01,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-07 12:49:01,913 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-07 12:49:03,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:49:03,967 INFO L225 Difference]: With dead ends: 96 [2022-04-07 12:49:03,968 INFO L226 Difference]: Without dead ends: 90 [2022-04-07 12:49:03,968 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=117, Invalid=432, Unknown=3, NotChecked=0, Total=552 [2022-04-07 12:49:03,969 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 34 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 18 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.4s IncrementalHoareTripleChecker+Time [2022-04-07 12:49:03,969 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 123 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 182 Invalid, 3 Unknown, 0 Unchecked, 6.4s Time] [2022-04-07 12:49:03,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-07 12:49:04,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-07 12:49:04,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:49:04,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:04,003 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:04,004 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:04,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:04,007 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-07 12:49:04,007 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-07 12:49:04,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:04,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:04,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-07 12:49:04,008 INFO L87 Difference]: Start difference. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-07 12:49:04,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:04,011 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-07 12:49:04,011 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-07 12:49:04,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:04,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:04,012 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:49:04,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:49:04,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:04,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 104 transitions. [2022-04-07 12:49:04,015 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 104 transitions. Word has length 39 [2022-04-07 12:49:04,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:49:04,015 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 104 transitions. [2022-04-07 12:49:04,016 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:49:04,016 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 104 transitions. [2022-04-07 12:49:04,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 12:49:04,016 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:49:04,016 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:49:04,044 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-07 12:49:04,231 WARN L460 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-07 12:49:04,232 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:49:04,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:49:04,232 INFO L85 PathProgramCache]: Analyzing trace with hash -1425187914, now seen corresponding path program 1 times [2022-04-07 12:49:04,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:49:04,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1707467650] [2022-04-07 12:49:04,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:49:04,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:49:04,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:49:04,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [443571812] [2022-04-07 12:49:04,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:49:04,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:49:04,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:49:04,251 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-07 12:49:04,267 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-07 12:49:04,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:49:04,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:49:04,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:49:04,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:49:05,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-07 12:49:05,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2444#true} is VALID [2022-04-07 12:49:05,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:05,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-07 12:49:05,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-07 12:49:05,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:49:05,935 INFO L290 TraceCheckUtils]: 6: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:49:05,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:49:05,935 INFO L272 TraceCheckUtils]: 8: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:05,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:05,936 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:05,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:05,937 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:49:05,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:49:05,940 INFO L290 TraceCheckUtils]: 14: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2492#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {2492#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,942 INFO L272 TraceCheckUtils]: 18: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:05,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:05,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:05,944 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:05,944 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #58#return; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:49:05,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-07 12:49:05,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:49:05,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:49:05,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:49:05,948 INFO L272 TraceCheckUtils]: 28: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:05,949 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:05,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:05,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:05,951 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #58#return; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:49:05,952 INFO L290 TraceCheckUtils]: 33: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-07 12:49:05,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-07 12:49:05,952 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2445#false} is VALID [2022-04-07 12:49:05,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-07 12:49:05,953 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-07 12:49:05,953 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-07 12:49:05,955 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 12:49:05,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:49:06,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-07 12:49:06,422 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-07 12:49:06,422 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-07 12:49:06,422 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2445#false} is VALID [2022-04-07 12:49:06,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-07 12:49:06,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-07 12:49:06,428 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2583#(<= main_~x~0 main_~X~0)} #58#return; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:06,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:06,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:06,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:06,428 INFO L272 TraceCheckUtils]: 28: Hoare triple {2583#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:06,429 INFO L290 TraceCheckUtils]: 27: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:06,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {2583#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:06,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {2608#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:06,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2608#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:06,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:49:06,433 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:49:06,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:06,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:06,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:06,433 INFO L272 TraceCheckUtils]: 18: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:06,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:49:06,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:49:06,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:49:06,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-07 12:49:06,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:49:06,437 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #58#return; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:49:06,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:06,437 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-07 12:49:06,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-07 12:49:06,438 INFO L272 TraceCheckUtils]: 8: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-07 12:49:06,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:49:06,439 INFO L290 TraceCheckUtils]: 6: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:49:06,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:49:06,440 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-07 12:49:06,440 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-07 12:49:06,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-07 12:49:06,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2444#true} is VALID [2022-04-07 12:49:06,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-07 12:49:06,441 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 12:49:06,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:49:06,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1707467650] [2022-04-07 12:49:06,441 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:49:06,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [443571812] [2022-04-07 12:49:06,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [443571812] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:49:06,442 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:49:06,442 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 12:49:06,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1076258237] [2022-04-07 12:49:06,442 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:49:06,444 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-07 12:49:06,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:49:06,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:49:06,491 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-07 12:49:06,491 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 12:49:06,491 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:49:06,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 12:49:06,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-07 12:49:06,492 INFO L87 Difference]: Start difference. First operand 88 states and 104 transitions. Second operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:49:07,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:07,048 INFO L93 Difference]: Finished difference Result 97 states and 113 transitions. [2022-04-07 12:49:07,048 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:49:07,048 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-07 12:49:07,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:49:07,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:49:07,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-07 12:49:07,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:49:07,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-07 12:49:07,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2022-04-07 12:49:07,116 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-07 12:49:07,118 INFO L225 Difference]: With dead ends: 97 [2022-04-07 12:49:07,118 INFO L226 Difference]: Without dead ends: 91 [2022-04-07 12:49:07,118 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-07 12:49:07,119 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 5 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 89 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 89 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 12:49:07,119 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 71 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 89 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 12:49:07,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-07 12:49:07,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-07 12:49:07,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:49:07,163 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:07,163 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:07,163 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:07,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:07,168 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-07 12:49:07,168 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-07 12:49:07,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:07,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:07,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-07 12:49:07,170 INFO L87 Difference]: Start difference. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-07 12:49:07,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:07,172 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-07 12:49:07,173 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-07 12:49:07,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:07,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:07,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:49:07,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:49:07,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:07,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 97 transitions. [2022-04-07 12:49:07,176 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 97 transitions. Word has length 39 [2022-04-07 12:49:07,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:49:07,176 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 97 transitions. [2022-04-07 12:49:07,176 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:49:07,176 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-07 12:49:07,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 12:49:07,179 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:49:07,179 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:49:07,204 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-07 12:49:07,392 WARN L460 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-07 12:49:07,392 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:49:07,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:49:07,393 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 2 times [2022-04-07 12:49:07,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:49:07,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571993787] [2022-04-07 12:49:07,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:49:07,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:49:07,405 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:49:07,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [745486299] [2022-04-07 12:49:07,405 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 12:49:07,405 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:49:07,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:49:07,406 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-07 12:49:07,411 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-07 12:49:07,456 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 12:49:07,456 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:49:07,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:49:07,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:49:07,476 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:49:08,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-07 12:49:08,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3121#true} is VALID [2022-04-07 12:49:08,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:08,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-07 12:49:08,854 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-07 12:49:08,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:49:08,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:49:08,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:49:08,856 INFO L272 TraceCheckUtils]: 8: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:08,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:08,856 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:08,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:08,857 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:49:08,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:49:08,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,860 INFO L290 TraceCheckUtils]: 16: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,861 INFO L272 TraceCheckUtils]: 18: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:08,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:08,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:08,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:08,863 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:49:08,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,865 INFO L290 TraceCheckUtils]: 25: Hoare triple {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,865 INFO L290 TraceCheckUtils]: 26: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,866 INFO L272 TraceCheckUtils]: 28: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:08,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:08,866 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:08,866 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:08,867 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,870 INFO L290 TraceCheckUtils]: 36: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,870 INFO L290 TraceCheckUtils]: 37: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,870 INFO L272 TraceCheckUtils]: 38: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:08,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:08,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:08,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:08,871 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:49:08,872 INFO L290 TraceCheckUtils]: 43: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-07 12:49:08,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-07 12:49:08,872 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3122#false} is VALID [2022-04-07 12:49:08,875 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-07 12:49:08,878 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-07 12:49:08,883 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-07 12:49:08,884 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 12:49:08,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:49:09,396 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-07 12:49:09,396 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-07 12:49:09,397 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-07 12:49:09,397 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3122#false} is VALID [2022-04-07 12:49:09,397 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-07 12:49:09,397 INFO L290 TraceCheckUtils]: 43: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-07 12:49:09,398 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3291#(<= main_~x~0 main_~X~0)} #58#return; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:09,398 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:09,398 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:09,398 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:09,398 INFO L272 TraceCheckUtils]: 38: Hoare triple {3291#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:09,399 INFO L290 TraceCheckUtils]: 37: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:09,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {3291#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:09,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:49:09,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,401 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3316#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:09,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:09,402 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:09,402 INFO L272 TraceCheckUtils]: 28: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:09,402 INFO L290 TraceCheckUtils]: 27: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {3347#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:49:09,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3347#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-07 12:49:09,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:49:09,405 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:49:09,405 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:09,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:09,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:09,405 INFO L272 TraceCheckUtils]: 18: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:09,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:49:09,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:49:09,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:49:09,408 INFO L290 TraceCheckUtils]: 14: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,409 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,409 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:09,409 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-07 12:49:09,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-07 12:49:09,409 INFO L272 TraceCheckUtils]: 8: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-07 12:49:09,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,410 INFO L290 TraceCheckUtils]: 6: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:49:09,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-07 12:49:09,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-07 12:49:09,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-07 12:49:09,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#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(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3121#true} is VALID [2022-04-07 12:49:09,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-07 12:49:09,412 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 12:49:09,412 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:49:09,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571993787] [2022-04-07 12:49:09,412 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:49:09,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [745486299] [2022-04-07 12:49:09,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [745486299] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:49:09,412 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:49:09,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 12:49:09,413 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1063844270] [2022-04-07 12:49:09,413 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:49:09,413 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-07 12:49:09,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:49:09,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:09,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:49:09,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 12:49:09,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:49:09,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 12:49:09,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-07 12:49:09,481 INFO L87 Difference]: Start difference. First operand 83 states and 97 transitions. Second operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:10,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:10,524 INFO L93 Difference]: Finished difference Result 108 states and 127 transitions. [2022-04-07 12:49:10,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:49:10,525 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-07 12:49:10,525 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:49:10,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:10,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-07 12:49:10,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:10,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-07 12:49:10,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 61 transitions. [2022-04-07 12:49:10,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:49:10,578 INFO L225 Difference]: With dead ends: 108 [2022-04-07 12:49:10,579 INFO L226 Difference]: Without dead ends: 102 [2022-04-07 12:49:10,579 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-07 12:49:10,579 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 180 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:49:10,580 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 144 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 180 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 12:49:10,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-07 12:49:10,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 89. [2022-04-07 12:49:10,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:49:10,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:10,623 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:10,623 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:10,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:10,626 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-07 12:49:10,626 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-07 12:49:10,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:10,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:10,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-07 12:49:10,627 INFO L87 Difference]: Start difference. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-07 12:49:10,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:49:10,631 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-07 12:49:10,631 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-07 12:49:10,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:49:10,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:49:10,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:49:10,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:49:10,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 12:49:10,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 105 transitions. [2022-04-07 12:49:10,634 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 105 transitions. Word has length 49 [2022-04-07 12:49:10,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:49:10,634 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 105 transitions. [2022-04-07 12:49:10,635 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:49:10,635 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 105 transitions. [2022-04-07 12:49:10,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 12:49:10,635 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:49:10,635 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:49:10,657 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-07 12:49:10,851 WARN L460 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-07 12:49:10,851 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:49:10,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:49:10,852 INFO L85 PathProgramCache]: Analyzing trace with hash -248152202, now seen corresponding path program 3 times [2022-04-07 12:49:10,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:49:10,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [941581625] [2022-04-07 12:49:10,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:49:10,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:49:10,871 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:49:10,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1195114616] [2022-04-07 12:49:10,872 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 12:49:10,872 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:49:10,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:49:10,878 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-07 12:49:10,910 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-07 12:49:11,519 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-07 12:49:11,519 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:49:11,521 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-07 12:49:11,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:49:11,539 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:49:30,613 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:49:36,017 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:49:42,036 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:50:12,221 WARN L232 SmtUtils]: Spent 15.50s on a formula simplification that was a NOOP. DAG size: 48 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)