/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/prod4br-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 15:09:23,253 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 15:09:23,254 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 15:09:23,284 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 15:09:23,284 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 15:09:23,284 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 15:09:23,285 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 15:09:23,286 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 15:09:23,294 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 15:09:23,298 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 15:09:23,299 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 15:09:23,301 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 15:09:23,301 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 15:09:23,303 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 15:09:23,304 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 15:09:23,305 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 15:09:23,306 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 15:09:23,306 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 15:09:23,311 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 15:09:23,312 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 15:09:23,313 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 15:09:23,315 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 15:09:23,316 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 15:09:23,318 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 15:09:23,319 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 15:09:23,320 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 15:09:23,320 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 15:09:23,320 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 15:09:23,321 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 15:09:23,321 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 15:09:23,322 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 15:09:23,322 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 15:09:23,322 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 15:09:23,322 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 15:09:23,323 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 15:09:23,323 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 15:09:23,324 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 15:09:23,324 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 15:09:23,324 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 15:09:23,324 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 15:09:23,325 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 15:09:23,327 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 15:09:23,328 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 15:09:23,339 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 15:09:23,339 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 15:09:23,340 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 15:09:23,340 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 15:09:23,340 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 15:09:23,340 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 15:09:23,340 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 15:09:23,341 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 15:09:23,341 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 15:09:23,342 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:09:23,342 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 15:09:23,342 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 15:09:23,343 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 15:09:23,343 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 15:09:23,343 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 15:09:23,343 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 15:09:23,498 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 15:09:23,523 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 15:09:23,525 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 15:09:23,525 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 15:09:23,529 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 15:09:23,530 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c [2022-04-07 15:09:23,582 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/341643748/29664b4f31c24e218de0944902dd6f79/FLAGf9a92ef2c [2022-04-07 15:09:23,936 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 15:09:23,936 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c [2022-04-07 15:09:23,940 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/341643748/29664b4f31c24e218de0944902dd6f79/FLAGf9a92ef2c [2022-04-07 15:09:23,948 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/341643748/29664b4f31c24e218de0944902dd6f79 [2022-04-07 15:09:23,950 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 15:09:23,951 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 15:09:23,952 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 15:09:23,952 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 15:09:23,954 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 15:09:23,954 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:09:23" (1/1) ... [2022-04-07 15:09:23,955 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@79c65ac0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:23, skipping insertion in model container [2022-04-07 15:09:23,955 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:09:23" (1/1) ... [2022-04-07 15:09:23,959 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 15:09:23,967 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 15:09:24,103 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/prod4br-ll_unwindbound20.c[524,537] [2022-04-07 15:09:24,133 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:09:24,138 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 15:09:24,145 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/prod4br-ll_unwindbound20.c[524,537] [2022-04-07 15:09:24,157 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:09:24,164 INFO L208 MainTranslator]: Completed translation [2022-04-07 15:09:24,165 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24 WrapperNode [2022-04-07 15:09:24,165 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 15:09:24,165 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 15:09:24,165 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 15:09:24,165 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 15:09:24,174 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,174 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,178 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,178 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,183 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,185 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,186 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,187 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 15:09:24,187 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 15:09:24,187 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 15:09:24,187 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 15:09:24,190 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (1/1) ... [2022-04-07 15:09:24,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:09:24,215 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:24,225 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 15:09:24,227 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 15:09:24,254 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 15:09:24,254 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 15:09:24,254 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 15:09:24,254 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 15:09:24,255 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 15:09:24,255 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 15:09:24,255 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 15:09:24,256 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 15:09:24,256 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 15:09:24,256 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 15:09:24,256 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 15:09:24,301 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 15:09:24,302 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 15:09:24,489 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 15:09:24,494 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 15:09:24,494 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 15:09:24,495 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:09:24 BoogieIcfgContainer [2022-04-07 15:09:24,495 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 15:09:24,496 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 15:09:24,496 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 15:09:24,498 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 15:09:24,499 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 03:09:23" (1/3) ... [2022-04-07 15:09:24,499 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ea5347d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:09:24, skipping insertion in model container [2022-04-07 15:09:24,499 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:09:24" (2/3) ... [2022-04-07 15:09:24,499 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ea5347d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:09:24, skipping insertion in model container [2022-04-07 15:09:24,499 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:09:24" (3/3) ... [2022-04-07 15:09:24,500 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound20.c [2022-04-07 15:09:24,503 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 15:09:24,503 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 15:09:24,529 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 15:09:24,533 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 15:09:24,533 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 15:09:24,545 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:09:24,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-07 15:09:24,548 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:24,548 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:09:24,549 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:24,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:24,552 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 1 times [2022-04-07 15:09:24,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:24,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1016320399] [2022-04-07 15:09:24,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:24,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:24,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:24,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 15:09:24,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:24,664 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-07 15:09:24,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 15:09:24,664 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-07 15:09:24,665 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 15:09:24,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:24,670 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 15:09:24,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 15:09:24,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 15:09:24,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-07 15:09:24,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 15:09:24,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-07 15:09:24,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 15:09:24,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-07 15:09:24,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-07 15:09:24,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {35#true} is VALID [2022-04-07 15:09:24,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-07 15:09:24,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 15:09:24,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 15:09:24,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 15:09:24,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-07 15:09:24,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {36#false} is VALID [2022-04-07 15:09:24,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-07 15:09:24,675 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36#false} is VALID [2022-04-07 15:09:24,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-07 15:09:24,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-07 15:09:24,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-07 15:09:24,675 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 15:09:24,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:09:24,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1016320399] [2022-04-07 15:09:24,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1016320399] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:09:24,677 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:09:24,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 15:09:24,680 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [452480316] [2022-04-07 15:09:24,680 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:09:24,684 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:09:24,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:09:24,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:24,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:24,712 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 15:09:24,713 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:09:24,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 15:09:24,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 15:09:24,731 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:24,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:24,858 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-07 15:09:24,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 15:09:24,859 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:09:24,859 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:09:24,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:24,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-07 15:09:24,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:24,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-07 15:09:24,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-07 15:09:24,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:24,959 INFO L225 Difference]: With dead ends: 56 [2022-04-07 15:09:24,959 INFO L226 Difference]: Without dead ends: 28 [2022-04-07 15:09:24,961 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 15:09:24,963 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:09:24,963 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:09:24,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-07 15:09:24,981 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-07 15:09:24,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:09:24,981 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 15:09:24,982 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 15:09:24,982 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 15:09:24,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:24,984 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-07 15:09:24,985 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-07 15:09:24,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,004 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 28 states. [2022-04-07 15:09:25,005 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 28 states. [2022-04-07 15:09:25,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,007 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-07 15:09:25,007 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-07 15:09:25,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:09:25,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:09:25,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 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 15:09:25,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-07 15:09:25,010 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-07 15:09:25,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:09:25,011 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-07 15:09:25,011 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,011 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-07 15:09:25,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:09:25,011 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:25,012 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:09:25,012 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 15:09:25,012 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:25,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:25,013 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 1 times [2022-04-07 15:09:25,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:25,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1805499992] [2022-04-07 15:09:25,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:25,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:25,027 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:09:25,027 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1927557695] [2022-04-07 15:09:25,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:25,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:09:25,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:25,047 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 15:09:25,072 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 15:09:25,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:25,087 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 15:09:25,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:25,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:09:25,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {214#true} call ULTIMATE.init(); {214#true} is VALID [2022-04-07 15:09:25,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {214#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {222#(<= ~counter~0 0)} {214#true} #77#return; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {222#(<= ~counter~0 0)} call #t~ret7 := main(); {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,200 INFO L290 TraceCheckUtils]: 5: Hoare triple {222#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {222#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {222#(<= ~counter~0 0)} ~cond := #in~cond; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {222#(<= ~counter~0 0)} assume !(0 == ~cond); {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,202 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {222#(<= ~counter~0 0)} {222#(<= ~counter~0 0)} #69#return; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,203 INFO L290 TraceCheckUtils]: 11: Hoare triple {222#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {222#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:25,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {222#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {256#(<= |main_#t~post6| 0)} is VALID [2022-04-07 15:09:25,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {256#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {215#false} is VALID [2022-04-07 15:09:25,204 INFO L272 TraceCheckUtils]: 14: Hoare triple {215#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {215#false} is VALID [2022-04-07 15:09:25,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {215#false} ~cond := #in~cond; {215#false} is VALID [2022-04-07 15:09:25,204 INFO L290 TraceCheckUtils]: 16: Hoare triple {215#false} assume 0 == ~cond; {215#false} is VALID [2022-04-07 15:09:25,204 INFO L290 TraceCheckUtils]: 17: Hoare triple {215#false} assume !false; {215#false} is VALID [2022-04-07 15:09:25,205 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 15:09:25,205 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:09:25,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:09:25,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1805499992] [2022-04-07 15:09:25,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:09:25,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1927557695] [2022-04-07 15:09:25,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1927557695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:09:25,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:09:25,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 15:09:25,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1935264970] [2022-04-07 15:09:25,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:09:25,207 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:09:25,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:09:25,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:09:25,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:25,220 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 15:09:25,220 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:09:25,220 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 15:09:25,220 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:09:25,221 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:09:25,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,273 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-07 15:09:25,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 15:09:25,274 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:09:25,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:09:25,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:09:25,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-07 15:09:25,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:09:25,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-07 15:09:25,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-07 15:09:25,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:25,308 INFO L225 Difference]: With dead ends: 37 [2022-04-07 15:09:25,308 INFO L226 Difference]: Without dead ends: 29 [2022-04-07 15:09:25,308 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:09:25,309 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:09:25,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:09:25,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-07 15:09:25,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-07 15:09:25,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:09:25,315 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 15:09:25,315 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 15:09:25,316 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 15:09:25,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,317 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-07 15:09:25,317 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-07 15:09:25,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,318 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 29 states. [2022-04-07 15:09:25,318 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 29 states. [2022-04-07 15:09:25,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,319 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-07 15:09:25,320 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-07 15:09:25,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:09:25,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:09:25,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 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 15:09:25,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-07 15:09:25,322 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-07 15:09:25,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:09:25,322 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-07 15:09:25,322 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:09:25,322 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-07 15:09:25,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:09:25,323 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:25,323 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:09:25,338 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-07 15:09:25,539 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 15:09:25,539 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:25,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:25,540 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 1 times [2022-04-07 15:09:25,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:25,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147465110] [2022-04-07 15:09:25,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:25,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:25,552 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:09:25,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [476350835] [2022-04-07 15:09:25,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:25,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:09:25,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:25,553 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 15:09:25,554 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 15:09:25,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:25,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-07 15:09:25,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:25,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:09:25,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {422#true} call ULTIMATE.init(); {422#true} is VALID [2022-04-07 15:09:25,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {422#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {422#true} is VALID [2022-04-07 15:09:25,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-07 15:09:25,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {422#true} {422#true} #77#return; {422#true} is VALID [2022-04-07 15:09:25,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {422#true} call #t~ret7 := main(); {422#true} is VALID [2022-04-07 15:09:25,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {422#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {422#true} is VALID [2022-04-07 15:09:25,699 INFO L272 TraceCheckUtils]: 6: Hoare triple {422#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {422#true} is VALID [2022-04-07 15:09:25,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {422#true} ~cond := #in~cond; {422#true} is VALID [2022-04-07 15:09:25,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {422#true} assume !(0 == ~cond); {422#true} is VALID [2022-04-07 15:09:25,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-07 15:09:25,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {422#true} {422#true} #69#return; {422#true} is VALID [2022-04-07 15:09:25,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {422#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:09:25,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:09:25,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:09:25,702 INFO L272 TraceCheckUtils]: 14: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {470#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:09:25,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {470#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {474#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:09:25,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {474#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {423#false} is VALID [2022-04-07 15:09:25,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {423#false} assume !false; {423#false} is VALID [2022-04-07 15:09:25,703 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 15:09:25,703 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:09:25,703 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:09:25,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147465110] [2022-04-07 15:09:25,704 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:09:25,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [476350835] [2022-04-07 15:09:25,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [476350835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:09:25,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:09:25,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 15:09:25,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [672254929] [2022-04-07 15:09:25,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:09:25,704 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:09:25,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:09:25,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:25,716 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 15:09:25,716 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:09:25,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 15:09:25,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 15:09:25,717 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,849 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-07 15:09:25,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 15:09:25,849 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:09:25,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:09:25,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-07 15:09:25,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-07 15:09:25,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-07 15:09:25,898 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 15:09:25,899 INFO L225 Difference]: With dead ends: 42 [2022-04-07 15:09:25,899 INFO L226 Difference]: Without dead ends: 40 [2022-04-07 15:09:25,899 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 15:09:25,900 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:09:25,900 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:09:25,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-07 15:09:25,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-07 15:09:25,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:09:25,907 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:09:25,907 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:09:25,907 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:09:25,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,909 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-07 15:09:25,909 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-07 15:09:25,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,910 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-07 15:09:25,910 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-07 15:09:25,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:25,912 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-07 15:09:25,912 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-07 15:09:25,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:25,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:25,912 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:09:25,912 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:09:25,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:09:25,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-07 15:09:25,914 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-07 15:09:25,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:09:25,914 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-07 15:09:25,914 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:09:25,914 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-07 15:09:25,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-07 15:09:25,914 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:25,915 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:09:25,943 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 15:09:26,143 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 15:09:26,143 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:26,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:26,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 1 times [2022-04-07 15:09:26,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:26,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700438463] [2022-04-07 15:09:26,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:26,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:26,162 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:09:26,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1808928361] [2022-04-07 15:09:26,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:26,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:09:26,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:26,163 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 15:09:26,164 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 15:09:26,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:26,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-07 15:09:26,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:26,200 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:09:34,833 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-07 15:09:34,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {668#true} is VALID [2022-04-07 15:09:34,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-07 15:09:34,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-07 15:09:34,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-07 15:09:34,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {668#true} is VALID [2022-04-07 15:09:34,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-07 15:09:34,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:09:34,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:09:34,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:09:34,836 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #69#return; {705#(<= 1 main_~y~0)} is VALID [2022-04-07 15:09:34,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-07 15:09:34,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-07 15:09:34,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 20);havoc #t~post6; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-07 15:09:34,837 INFO L272 TraceCheckUtils]: 14: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {668#true} is VALID [2022-04-07 15:09:34,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} ~cond := #in~cond; {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:09:34,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:09:34,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:09:36,841 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #71#return; {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-07 15:09:36,843 INFO L290 TraceCheckUtils]: 19: Hoare triple {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-07 15:09:36,844 INFO L272 TraceCheckUtils]: 20: Hoare triple {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:09:36,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:09:36,844 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-07 15:09:36,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-07 15:09:36,845 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:09:36,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:09:49,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-07 15:09:49,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-07 15:09:49,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:09:49,844 INFO L272 TraceCheckUtils]: 20: Hoare triple {761#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:09:49,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {761#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-07 15:09:49,846 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {668#true} #71#return; {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-07 15:09:49,846 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:09:49,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:09:49,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} ~cond := #in~cond; {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:09:49,847 INFO L272 TraceCheckUtils]: 14: Hoare triple {668#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {668#true} is VALID [2022-04-07 15:09:49,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} assume !!(#t~post6 < 20);havoc #t~post6; {668#true} is VALID [2022-04-07 15:09:49,847 INFO L290 TraceCheckUtils]: 12: Hoare triple {668#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {668#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {668#true} {668#true} #69#return; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-07 15:09:49,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-07 15:09:49,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {668#true} is VALID [2022-04-07 15:09:49,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-07 15:09:49,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-07 15:09:49,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-07 15:09:49,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {668#true} is VALID [2022-04-07 15:09:49,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-07 15:09:49,849 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:09:49,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:09:49,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700438463] [2022-04-07 15:09:49,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:09:49,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1808928361] [2022-04-07 15:09:49,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1808928361] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:09:49,849 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:09:49,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-07 15:09:49,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1809378577] [2022-04-07 15:09:49,850 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:09:49,850 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-07 15:09:49,850 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:09:49,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 15:09:51,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:51,877 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-07 15:09:51,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:09:51,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-07 15:09:51,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-07 15:09:51,878 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 15:09:56,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:56,104 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2022-04-07 15:09:56,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-07 15:09:56,104 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-07 15:09:56,104 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:09:56,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 15:09:56,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-07 15:09:56,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 15:09:56,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-07 15:09:56,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2022-04-07 15:09:58,166 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:58,169 INFO L225 Difference]: With dead ends: 55 [2022-04-07 15:09:58,169 INFO L226 Difference]: Without dead ends: 53 [2022-04-07 15:09:58,171 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-07 15:09:58,171 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 51 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-07 15:09:58,171 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 123 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-07 15:09:58,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-07 15:09:58,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-07 15:09:58,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:09:58,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:09:58,185 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:09:58,185 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:09:58,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:58,187 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-07 15:09:58,187 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-07 15:09:58,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:58,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:58,188 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-07 15:09:58,188 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-07 15:09:58,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:58,190 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-07 15:09:58,190 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-07 15:09:58,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:58,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:58,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:09:58,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:09:58,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:09:58,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-07 15:09:58,191 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 24 [2022-04-07 15:09:58,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:09:58,192 INFO L478 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-07 15:09:58,192 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 15:09:58,192 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-07 15:09:58,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-07 15:09:58,192 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:58,193 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, 1, 1, 1, 1] [2022-04-07 15:09:58,208 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 15:09:58,408 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 15:09:58,408 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:58,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:58,409 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 1 times [2022-04-07 15:09:58,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:58,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135731992] [2022-04-07 15:09:58,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:58,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:58,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:09:58,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [411649808] [2022-04-07 15:09:58,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:58,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:09:58,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:58,429 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 15:09:58,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:58,483 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 15:09:58,484 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 15:09:58,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:58,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:09:58,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-07 15:09:58,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1085#(<= ~counter~0 0)} {1077#true} #77#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {1085#(<= ~counter~0 0)} call #t~ret7 := main(); {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,598 INFO L290 TraceCheckUtils]: 5: Hoare triple {1085#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,599 INFO L272 TraceCheckUtils]: 6: Hoare triple {1085#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {1085#(<= ~counter~0 0)} ~cond := #in~cond; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,599 INFO L290 TraceCheckUtils]: 8: Hoare triple {1085#(<= ~counter~0 0)} assume !(0 == ~cond); {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1085#(<= ~counter~0 0)} {1085#(<= ~counter~0 0)} #69#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {1085#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1085#(<= ~counter~0 0)} is VALID [2022-04-07 15:09:58,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {1085#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {1119#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,602 INFO L272 TraceCheckUtils]: 14: Hoare triple {1119#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {1119#(<= ~counter~0 1)} ~cond := #in~cond; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {1119#(<= ~counter~0 1)} assume !(0 == ~cond); {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,603 INFO L290 TraceCheckUtils]: 17: Hoare triple {1119#(<= ~counter~0 1)} assume true; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,603 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1119#(<= ~counter~0 1)} {1119#(<= ~counter~0 1)} #71#return; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {1119#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {1119#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1119#(<= ~counter~0 1)} is VALID [2022-04-07 15:09:58,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {1119#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1147#(<= |main_#t~post6| 1)} is VALID [2022-04-07 15:09:58,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {1147#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1078#false} is VALID [2022-04-07 15:09:58,605 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1078#false} is VALID [2022-04-07 15:09:58,605 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-07 15:09:58,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-07 15:09:58,605 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-07 15:09:58,605 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 15:09:58,605 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:09:58,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-07 15:09:58,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-07 15:09:58,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-07 15:09:58,723 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1078#false} is VALID [2022-04-07 15:09:58,723 INFO L290 TraceCheckUtils]: 22: Hoare triple {1175#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1078#false} is VALID [2022-04-07 15:09:58,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {1179#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1175#(< |main_#t~post6| 20)} is VALID [2022-04-07 15:09:58,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {1179#(< ~counter~0 20)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1179#(< ~counter~0 20)} is VALID [2022-04-07 15:09:58,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {1179#(< ~counter~0 20)} assume !!(0 != ~a~0 && 0 != ~b~0); {1179#(< ~counter~0 20)} is VALID [2022-04-07 15:09:58,725 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1077#true} {1179#(< ~counter~0 20)} #71#return; {1179#(< ~counter~0 20)} is VALID [2022-04-07 15:09:58,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-07 15:09:58,725 INFO L290 TraceCheckUtils]: 16: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-07 15:09:58,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-07 15:09:58,725 INFO L272 TraceCheckUtils]: 14: Hoare triple {1179#(< ~counter~0 20)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1077#true} is VALID [2022-04-07 15:09:58,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {1179#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {1179#(< ~counter~0 20)} is VALID [2022-04-07 15:09:58,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {1207#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1179#(< ~counter~0 20)} is VALID [2022-04-07 15:09:58,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {1207#(< ~counter~0 19)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1077#true} {1207#(< ~counter~0 19)} #69#return; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-07 15:09:58,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-07 15:09:58,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-07 15:09:58,727 INFO L272 TraceCheckUtils]: 6: Hoare triple {1207#(< ~counter~0 19)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1077#true} is VALID [2022-04-07 15:09:58,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {1207#(< ~counter~0 19)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {1207#(< ~counter~0 19)} call #t~ret7 := main(); {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1207#(< ~counter~0 19)} {1077#true} #77#return; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {1207#(< ~counter~0 19)} assume true; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1207#(< ~counter~0 19)} is VALID [2022-04-07 15:09:58,729 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-07 15:09:58,730 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 15:09:58,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:09:58,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135731992] [2022-04-07 15:09:58,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:09:58,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411649808] [2022-04-07 15:09:58,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411649808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:09:58,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:09:58,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 15:09:58,730 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [237177614] [2022-04-07 15:09:58,730 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:09:58,731 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-07 15:09:58,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:09:58,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:09:58,763 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 15:09:58,763 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 15:09:58,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:09:58,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 15:09:58,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 15:09:58,764 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:09:58,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:58,980 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2022-04-07 15:09:58,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 15:09:58,980 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-07 15:09:58,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:09:58,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:09:58,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-07 15:09:58,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:09:58,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-07 15:09:58,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 106 transitions. [2022-04-07 15:09:59,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:09:59,075 INFO L225 Difference]: With dead ends: 103 [2022-04-07 15:09:59,075 INFO L226 Difference]: Without dead ends: 93 [2022-04-07 15:09:59,076 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 15:09:59,076 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 55 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:09:59,077 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 182 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:09:59,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-07 15:09:59,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-04-07 15:09:59,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:09:59,127 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 15:09:59,128 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 15:09:59,130 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 15:09:59,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:59,137 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-07 15:09:59,137 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-07 15:09:59,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:59,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:59,140 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-07 15:09:59,140 INFO L87 Difference]: Start difference. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-07 15:09:59,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:09:59,147 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-07 15:09:59,147 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-07 15:09:59,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:09:59,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:09:59,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:09:59,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:09:59,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 15:09:59,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2022-04-07 15:09:59,151 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 27 [2022-04-07 15:09:59,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:09:59,151 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2022-04-07 15:09:59,151 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:09:59,151 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2022-04-07 15:09:59,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-07 15:09:59,152 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:09:59,152 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:09:59,169 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 15:09:59,367 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 15:09:59,368 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:09:59,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:09:59,368 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 1 times [2022-04-07 15:09:59,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:09:59,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1791565952] [2022-04-07 15:09:59,368 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:59,368 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:09:59,385 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:09:59,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [305451044] [2022-04-07 15:09:59,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:09:59,385 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:09:59,385 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:09:59,386 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 15:09:59,387 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 15:09:59,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:59,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-07 15:09:59,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:09:59,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:10:01,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {1697#true} is VALID [2022-04-07 15:10:01,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1697#true} is VALID [2022-04-07 15:10:01,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} ~cond := #in~cond; {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:10:01,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:10:01,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:10:01,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} #69#return; {1734#(<= 1 main_~y~0)} is VALID [2022-04-07 15:10:01,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {1734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:10:01,931 INFO L290 TraceCheckUtils]: 12: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:10:01,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:10:01,932 INFO L272 TraceCheckUtils]: 14: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1697#true} is VALID [2022-04-07 15:10:01,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} ~cond := #in~cond; {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:10:01,933 INFO L290 TraceCheckUtils]: 16: Hoare triple {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:10:01,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:10:01,935 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:10:01,936 INFO L290 TraceCheckUtils]: 19: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 15:10:01,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-07 15:10:01,937 INFO L290 TraceCheckUtils]: 21: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-07 15:10:01,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-07 15:10:01,942 INFO L272 TraceCheckUtils]: 23: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:10:01,942 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:10:01,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-07 15:10:01,943 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-07 15:10:01,943 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:10:01,943 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:11:17,376 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-07 15:11:17,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-07 15:11:17,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:17,385 INFO L272 TraceCheckUtils]: 23: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:17,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-07 15:11:17,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-07 15:11:17,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-07 15:11:17,392 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-07 15:11:17,398 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} #71#return; {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-07 15:11:17,398 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:11:17,399 INFO L290 TraceCheckUtils]: 16: Hoare triple {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:11:17,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} ~cond := #in~cond; {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:11:17,402 INFO L272 TraceCheckUtils]: 14: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1697#true} is VALID [2022-04-07 15:11:17,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 15:11:17,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 15:11:17,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 15:11:17,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} #69#return; {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-07 15:11:17,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:17,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:17,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} ~cond := #in~cond; {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 15:11:17,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-07 15:11:17,419 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:17,420 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:17,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1791565952] [2022-04-07 15:11:17,420 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:17,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [305451044] [2022-04-07 15:11:17,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [305451044] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:11:17,420 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:11:17,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 17 [2022-04-07 15:11:17,420 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1899112419] [2022-04-07 15:11:17,420 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:11:17,421 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-07 15:11:17,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:17,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:17,489 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:17,489 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-07 15:11:17,490 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:17,490 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-07 15:11:17,490 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=223, Unknown=0, NotChecked=0, Total=272 [2022-04-07 15:11:17,490 INFO L87 Difference]: Start difference. First operand 87 states and 107 transitions. Second operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:20,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:20,823 INFO L93 Difference]: Finished difference Result 127 states and 164 transitions. [2022-04-07 15:11:20,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 15:11:20,823 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-07 15:11:20,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:20,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:20,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-07 15:11:20,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:20,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-07 15:11:20,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 83 transitions. [2022-04-07 15:11:20,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:20,981 INFO L225 Difference]: With dead ends: 127 [2022-04-07 15:11:20,981 INFO L226 Difference]: Without dead ends: 121 [2022-04-07 15:11:20,982 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-07 15:11:20,982 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 99 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 370 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 89 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:20,983 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [102 Valid, 144 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-07 15:11:20,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-07 15:11:21,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 79. [2022-04-07 15:11:21,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:21,024 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 15:11:21,025 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 15:11:21,025 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 15:11:21,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:21,028 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-07 15:11:21,028 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-07 15:11:21,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:21,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:21,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-07 15:11:21,029 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-07 15:11:21,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:21,032 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-07 15:11:21,032 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-07 15:11:21,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:21,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:21,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:21,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:21,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 15:11:21,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2022-04-07 15:11:21,034 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 27 [2022-04-07 15:11:21,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:21,034 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2022-04-07 15:11:21,034 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:21,034 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2022-04-07 15:11:21,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 15:11:21,035 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:21,035 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:21,050 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-07 15:11:21,250 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 15:11:21,251 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:21,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:21,251 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 1 times [2022-04-07 15:11:21,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:21,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2099821582] [2022-04-07 15:11:21,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:21,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:21,263 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:21,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1421645396] [2022-04-07 15:11:21,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:21,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:21,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:21,283 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 15:11:21,284 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 15:11:21,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:21,326 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 15:11:21,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:21,335 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:21,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {2407#true} call ULTIMATE.init(); {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {2407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2407#true} {2407#true} #77#return; {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {2407#true} call #t~ret7 := main(); {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {2407#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {2407#true} is VALID [2022-04-07 15:11:21,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {2407#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2407#true} is VALID [2022-04-07 15:11:21,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {2407#true} ~cond := #in~cond; {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:11:21,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:21,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:21,511 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} {2407#true} #69#return; {2444#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:21,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2448#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:21,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {2448#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2448#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:21,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {2448#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {2448#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:21,512 INFO L272 TraceCheckUtils]: 14: Hoare triple {2448#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2407#true} is VALID [2022-04-07 15:11:21,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-07 15:11:21,513 INFO L290 TraceCheckUtils]: 16: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-07 15:11:21,513 INFO L290 TraceCheckUtils]: 17: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-07 15:11:21,514 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2407#true} {2448#(<= 1 main_~b~0)} #71#return; {2448#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:21,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {2448#(<= 1 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-07 15:11:21,514 INFO L272 TraceCheckUtils]: 20: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2407#true} is VALID [2022-04-07 15:11:21,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-07 15:11:21,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-07 15:11:21,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-07 15:11:21,515 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2407#true} {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} #73#return; {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-07 15:11:21,515 INFO L272 TraceCheckUtils]: 25: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:21,520 INFO L290 TraceCheckUtils]: 26: Hoare triple {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2496#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:21,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {2496#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2408#false} is VALID [2022-04-07 15:11:21,521 INFO L290 TraceCheckUtils]: 28: Hoare triple {2408#false} assume !false; {2408#false} is VALID [2022-04-07 15:11:21,521 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 15:11:21,521 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:11:21,521 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:21,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2099821582] [2022-04-07 15:11:21,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:21,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1421645396] [2022-04-07 15:11:21,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1421645396] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:21,522 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:21,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-07 15:11:21,522 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [607041655] [2022-04-07 15:11:21,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:21,522 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-07 15:11:21,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:21,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 15:11:21,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:21,543 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 15:11:21,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:21,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 15:11:21,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-07 15:11:21,544 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 15:11:21,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:21,868 INFO L93 Difference]: Finished difference Result 116 states and 151 transitions. [2022-04-07 15:11:21,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 15:11:21,868 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-07 15:11:21,868 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:21,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 15:11:21,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-07 15:11:21,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 15:11:21,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-07 15:11:21,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-07 15:11:21,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:21,911 INFO L225 Difference]: With dead ends: 116 [2022-04-07 15:11:21,911 INFO L226 Difference]: Without dead ends: 104 [2022-04-07 15:11:21,912 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-07 15:11:21,912 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:21,912 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 141 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:11:21,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-07 15:11:22,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 99. [2022-04-07 15:11:22,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:22,005 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 15:11:22,005 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 15:11:22,006 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 15:11:22,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:22,009 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-07 15:11:22,009 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-07 15:11:22,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:22,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:22,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-07 15:11:22,010 INFO L87 Difference]: Start difference. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-07 15:11:22,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:22,012 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-07 15:11:22,012 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-07 15:11:22,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:22,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:22,012 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:22,013 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:22,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 15:11:22,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 125 transitions. [2022-04-07 15:11:22,015 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 125 transitions. Word has length 29 [2022-04-07 15:11:22,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:22,015 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 125 transitions. [2022-04-07 15:11:22,015 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 15:11:22,015 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 125 transitions. [2022-04-07 15:11:22,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-07 15:11:22,016 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:22,016 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:22,031 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 15:11:22,231 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 15:11:22,232 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:22,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:22,232 INFO L85 PathProgramCache]: Analyzing trace with hash 1524039145, now seen corresponding path program 1 times [2022-04-07 15:11:22,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:22,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1650388861] [2022-04-07 15:11:22,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:22,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:22,242 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:22,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1631316470] [2022-04-07 15:11:22,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:22,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:22,243 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:22,243 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 15:11:22,252 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 15:11:22,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:22,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 15:11:22,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:22,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:22,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {3011#true} call ULTIMATE.init(); {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {3011#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3011#true} {3011#true} #77#return; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {3011#true} call #t~ret7 := main(); {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {3011#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {3011#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3011#true} {3011#true} #69#return; {3011#true} is VALID [2022-04-07 15:11:22,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {3011#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {3011#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {3011#true} assume !!(#t~post6 < 20);havoc #t~post6; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L272 TraceCheckUtils]: 14: Hoare triple {3011#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3011#true} {3011#true} #71#return; {3011#true} is VALID [2022-04-07 15:11:22,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {3011#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {3073#(not (= main_~a~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {3073#(not (= main_~a~0 0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {3073#(not (= main_~a~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {3073#(not (= main_~a~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {3073#(not (= main_~a~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,425 INFO L272 TraceCheckUtils]: 25: Hoare triple {3073#(not (= main_~a~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-07 15:11:22,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-07 15:11:22,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-07 15:11:22,425 INFO L290 TraceCheckUtils]: 28: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-07 15:11:22,426 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3011#true} {3073#(not (= main_~a~0 0))} #71#return; {3073#(not (= main_~a~0 0))} is VALID [2022-04-07 15:11:22,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {3073#(not (= main_~a~0 0))} assume !(0 != ~a~0 && 0 != ~b~0); {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-07 15:11:22,426 INFO L272 TraceCheckUtils]: 31: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-07 15:11:22,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-07 15:11:22,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-07 15:11:22,426 INFO L290 TraceCheckUtils]: 34: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-07 15:11:22,427 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3011#true} {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} #73#return; {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-07 15:11:22,427 INFO L272 TraceCheckUtils]: 36: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:22,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:22,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {3130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3012#false} is VALID [2022-04-07 15:11:22,428 INFO L290 TraceCheckUtils]: 39: Hoare triple {3012#false} assume !false; {3012#false} is VALID [2022-04-07 15:11:22,429 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 15:11:22,429 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:11:22,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:22,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1650388861] [2022-04-07 15:11:22,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:22,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1631316470] [2022-04-07 15:11:22,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1631316470] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:22,429 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:22,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 15:11:22,429 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [501543537] [2022-04-07 15:11:22,429 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:22,430 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-07 15:11:22,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:22,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:22,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:22,459 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 15:11:22,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:22,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 15:11:22,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-07 15:11:22,459 INFO L87 Difference]: Start difference. First operand 99 states and 125 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:22,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:22,760 INFO L93 Difference]: Finished difference Result 141 states and 180 transitions. [2022-04-07 15:11:22,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 15:11:22,760 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-07 15:11:22,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:22,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:22,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-07 15:11:22,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:22,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-07 15:11:22,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-07 15:11:22,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:22,809 INFO L225 Difference]: With dead ends: 141 [2022-04-07 15:11:22,809 INFO L226 Difference]: Without dead ends: 129 [2022-04-07 15:11:22,810 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-07 15:11:22,810 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:22,810 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:11:22,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-07 15:11:22,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 113. [2022-04-07 15:11:22,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:22,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 15:11:22,879 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 15:11:22,879 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 15:11:22,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:22,882 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-07 15:11:22,882 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-07 15:11:22,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:22,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:22,883 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-07 15:11:22,883 INFO L87 Difference]: Start difference. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-07 15:11:22,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:22,888 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-07 15:11:22,888 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-07 15:11:22,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:22,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:22,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:22,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:22,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 15:11:22,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 143 transitions. [2022-04-07 15:11:22,892 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 143 transitions. Word has length 40 [2022-04-07 15:11:22,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:22,892 INFO L478 AbstractCegarLoop]: Abstraction has 113 states and 143 transitions. [2022-04-07 15:11:22,898 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:11:22,898 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 143 transitions. [2022-04-07 15:11:22,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-07 15:11:22,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:22,900 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:22,918 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 15:11:23,118 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 15:11:23,119 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:23,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:23,119 INFO L85 PathProgramCache]: Analyzing trace with hash -470105561, now seen corresponding path program 1 times [2022-04-07 15:11:23,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:23,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880236115] [2022-04-07 15:11:23,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:23,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:23,132 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:23,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1892228123] [2022-04-07 15:11:23,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:23,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:23,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:23,133 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 15:11:23,134 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 15:11:23,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:23,170 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-07 15:11:23,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:23,183 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:23,447 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 15:11:23,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {3749#true} is VALID [2022-04-07 15:11:23,487 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} ~cond := #in~cond; {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:11:23,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:23,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:23,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} {3749#true} #69#return; {3786#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:23,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {3786#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,489 INFO L290 TraceCheckUtils]: 12: Hoare triple {3790#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {3790#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,490 INFO L272 TraceCheckUtils]: 14: Hoare triple {3790#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,491 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3790#(<= 1 main_~b~0)} #71#return; {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {3790#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {3790#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {3790#(<= 1 main_~b~0)} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3790#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:23,493 INFO L290 TraceCheckUtils]: 22: Hoare triple {3790#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3824#(<= 0 main_~b~0)} is VALID [2022-04-07 15:11:23,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {3824#(<= 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3824#(<= 0 main_~b~0)} is VALID [2022-04-07 15:11:23,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {3824#(<= 0 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {3824#(<= 0 main_~b~0)} is VALID [2022-04-07 15:11:23,494 INFO L272 TraceCheckUtils]: 25: Hoare triple {3824#(<= 0 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,494 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,495 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3824#(<= 0 main_~b~0)} #71#return; {3824#(<= 0 main_~b~0)} is VALID [2022-04-07 15:11:23,495 INFO L290 TraceCheckUtils]: 30: Hoare triple {3824#(<= 0 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-07 15:11:23,495 INFO L272 TraceCheckUtils]: 31: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,495 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,496 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,496 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} #73#return; {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-07 15:11:23,497 INFO L272 TraceCheckUtils]: 36: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:23,498 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:23,498 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-07 15:11:23,498 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-07 15:11:23,498 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 15:11:23,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:11:23,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-07 15:11:23,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-07 15:11:23,696 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:23,697 INFO L272 TraceCheckUtils]: 36: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:23,697 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3888#(= (* main_~b~0 main_~a~0) 0)} #73#return; {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-07 15:11:23,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,698 INFO L272 TraceCheckUtils]: 31: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {3749#true} assume !(0 != ~a~0 && 0 != ~b~0); {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-07 15:11:23,699 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L272 TraceCheckUtils]: 25: Hoare triple {3749#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {3749#true} assume !!(#t~post6 < 20);havoc #t~post6; {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-07 15:11:23,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {3749#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {3749#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {3749#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {3749#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L272 TraceCheckUtils]: 14: Hoare triple {3749#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 13: Hoare triple {3749#true} assume !!(#t~post6 < 20);havoc #t~post6; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 12: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {3749#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3749#true} {3749#true} #69#return; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-07 15:11:23,701 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 15:11:23,701 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:23,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880236115] [2022-04-07 15:11:23,701 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:23,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1892228123] [2022-04-07 15:11:23,702 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1892228123] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 15:11:23,702 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 15:11:23,702 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-07 15:11:23,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [686510952] [2022-04-07 15:11:23,702 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:23,703 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-07 15:11:23,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:23,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 15:11:23,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:23,727 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 15:11:23,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:23,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 15:11:23,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-07 15:11:23,728 INFO L87 Difference]: Start difference. First operand 113 states and 143 transitions. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 15:11:24,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:24,081 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-04-07 15:11:24,081 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 15:11:24,081 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-07 15:11:24,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:24,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 15:11:24,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-07 15:11:24,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 15:11:24,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-07 15:11:24,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-07 15:11:24,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:24,112 INFO L225 Difference]: With dead ends: 120 [2022-04-07 15:11:24,113 INFO L226 Difference]: Without dead ends: 100 [2022-04-07 15:11:24,113 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-07 15:11:24,113 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:24,113 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:11:24,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-07 15:11:24,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 66. [2022-04-07 15:11:24,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:24,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 15:11:24,151 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 15:11:24,151 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 15:11:24,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:24,153 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-07 15:11:24,153 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-07 15:11:24,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:24,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:24,154 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-07 15:11:24,154 INFO L87 Difference]: Start difference. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-07 15:11:24,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:24,156 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-07 15:11:24,156 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-07 15:11:24,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:24,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:24,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:24,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:24,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 15:11:24,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-07 15:11:24,158 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 40 [2022-04-07 15:11:24,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:24,158 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-07 15:11:24,158 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 15:11:24,158 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-07 15:11:24,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-07 15:11:24,159 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:24,159 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:24,189 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 15:11:24,375 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 15:11:24,375 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:24,375 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:24,375 INFO L85 PathProgramCache]: Analyzing trace with hash -1818717446, now seen corresponding path program 2 times [2022-04-07 15:11:24,375 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:24,375 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [199791313] [2022-04-07 15:11:24,376 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:24,376 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:24,386 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:24,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1027603824] [2022-04-07 15:11:24,386 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:11:24,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:24,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:24,387 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:11:24,412 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 15:11:24,438 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:11:24,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:11:24,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 15:11:24,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:24,449 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:24,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-07 15:11:24,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4461#(<= ~counter~0 0)} {4453#true} #77#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {4461#(<= ~counter~0 0)} call #t~ret7 := main(); {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {4461#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {4461#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {4461#(<= ~counter~0 0)} ~cond := #in~cond; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {4461#(<= ~counter~0 0)} assume !(0 == ~cond); {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,663 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4461#(<= ~counter~0 0)} {4461#(<= ~counter~0 0)} #69#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {4461#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4461#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:24,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {4461#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {4495#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,666 INFO L272 TraceCheckUtils]: 14: Hoare triple {4495#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {4495#(<= ~counter~0 1)} ~cond := #in~cond; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,666 INFO L290 TraceCheckUtils]: 16: Hoare triple {4495#(<= ~counter~0 1)} assume !(0 == ~cond); {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {4495#(<= ~counter~0 1)} assume true; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,669 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4495#(<= ~counter~0 1)} {4495#(<= ~counter~0 1)} #71#return; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {4495#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,670 INFO L290 TraceCheckUtils]: 20: Hoare triple {4495#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4495#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:24,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {4495#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {4523#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,671 INFO L272 TraceCheckUtils]: 23: Hoare triple {4523#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {4523#(<= ~counter~0 2)} ~cond := #in~cond; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {4523#(<= ~counter~0 2)} assume !(0 == ~cond); {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {4523#(<= ~counter~0 2)} assume true; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,672 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4523#(<= ~counter~0 2)} {4523#(<= ~counter~0 2)} #71#return; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,673 INFO L290 TraceCheckUtils]: 28: Hoare triple {4523#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {4523#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4523#(<= ~counter~0 2)} is VALID [2022-04-07 15:11:24,673 INFO L290 TraceCheckUtils]: 30: Hoare triple {4523#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,673 INFO L290 TraceCheckUtils]: 31: Hoare triple {4551#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,674 INFO L272 TraceCheckUtils]: 32: Hoare triple {4551#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,674 INFO L290 TraceCheckUtils]: 33: Hoare triple {4551#(<= ~counter~0 3)} ~cond := #in~cond; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#(<= ~counter~0 3)} assume !(0 == ~cond); {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,675 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#(<= ~counter~0 3)} assume true; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,675 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4551#(<= ~counter~0 3)} {4551#(<= ~counter~0 3)} #71#return; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,675 INFO L290 TraceCheckUtils]: 37: Hoare triple {4551#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {4551#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4551#(<= ~counter~0 3)} is VALID [2022-04-07 15:11:24,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {4551#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {4579#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,677 INFO L272 TraceCheckUtils]: 41: Hoare triple {4579#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {4579#(<= ~counter~0 4)} ~cond := #in~cond; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {4579#(<= ~counter~0 4)} assume !(0 == ~cond); {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {4579#(<= ~counter~0 4)} assume true; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,678 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4579#(<= ~counter~0 4)} {4579#(<= ~counter~0 4)} #71#return; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {4579#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {4579#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4579#(<= ~counter~0 4)} is VALID [2022-04-07 15:11:24,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {4579#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4607#(<= |main_#t~post6| 4)} is VALID [2022-04-07 15:11:24,679 INFO L290 TraceCheckUtils]: 49: Hoare triple {4607#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {4454#false} is VALID [2022-04-07 15:11:24,679 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4454#false} is VALID [2022-04-07 15:11:24,679 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-07 15:11:24,679 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-07 15:11:24,679 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-07 15:11:24,679 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:24,679 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:11:24,926 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-07 15:11:24,926 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-07 15:11:24,926 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-07 15:11:24,926 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4454#false} is VALID [2022-04-07 15:11:24,927 INFO L290 TraceCheckUtils]: 49: Hoare triple {4635#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4454#false} is VALID [2022-04-07 15:11:24,927 INFO L290 TraceCheckUtils]: 48: Hoare triple {4639#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4635#(< |main_#t~post6| 20)} is VALID [2022-04-07 15:11:24,927 INFO L290 TraceCheckUtils]: 47: Hoare triple {4639#(< ~counter~0 20)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4639#(< ~counter~0 20)} is VALID [2022-04-07 15:11:24,927 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(< ~counter~0 20)} assume !!(0 != ~a~0 && 0 != ~b~0); {4639#(< ~counter~0 20)} is VALID [2022-04-07 15:11:24,928 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4453#true} {4639#(< ~counter~0 20)} #71#return; {4639#(< ~counter~0 20)} is VALID [2022-04-07 15:11:24,928 INFO L290 TraceCheckUtils]: 44: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-07 15:11:24,928 INFO L290 TraceCheckUtils]: 43: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-07 15:11:24,928 INFO L290 TraceCheckUtils]: 42: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-07 15:11:24,928 INFO L272 TraceCheckUtils]: 41: Hoare triple {4639#(< ~counter~0 20)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-07 15:11:24,929 INFO L290 TraceCheckUtils]: 40: Hoare triple {4639#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {4639#(< ~counter~0 20)} is VALID [2022-04-07 15:11:24,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {4667#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4639#(< ~counter~0 20)} is VALID [2022-04-07 15:11:24,929 INFO L290 TraceCheckUtils]: 38: Hoare triple {4667#(< ~counter~0 19)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4667#(< ~counter~0 19)} is VALID [2022-04-07 15:11:24,929 INFO L290 TraceCheckUtils]: 37: Hoare triple {4667#(< ~counter~0 19)} assume !!(0 != ~a~0 && 0 != ~b~0); {4667#(< ~counter~0 19)} is VALID [2022-04-07 15:11:24,930 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4453#true} {4667#(< ~counter~0 19)} #71#return; {4667#(< ~counter~0 19)} is VALID [2022-04-07 15:11:24,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-07 15:11:24,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-07 15:11:24,930 INFO L290 TraceCheckUtils]: 33: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-07 15:11:24,930 INFO L272 TraceCheckUtils]: 32: Hoare triple {4667#(< ~counter~0 19)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-07 15:11:24,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {4667#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {4667#(< ~counter~0 19)} is VALID [2022-04-07 15:11:24,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {4695#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4667#(< ~counter~0 19)} is VALID [2022-04-07 15:11:24,931 INFO L290 TraceCheckUtils]: 29: Hoare triple {4695#(< ~counter~0 18)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4695#(< ~counter~0 18)} is VALID [2022-04-07 15:11:24,931 INFO L290 TraceCheckUtils]: 28: Hoare triple {4695#(< ~counter~0 18)} assume !!(0 != ~a~0 && 0 != ~b~0); {4695#(< ~counter~0 18)} is VALID [2022-04-07 15:11:24,932 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4453#true} {4695#(< ~counter~0 18)} #71#return; {4695#(< ~counter~0 18)} is VALID [2022-04-07 15:11:24,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-07 15:11:24,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-07 15:11:24,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-07 15:11:24,932 INFO L272 TraceCheckUtils]: 23: Hoare triple {4695#(< ~counter~0 18)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-07 15:11:24,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {4695#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {4695#(< ~counter~0 18)} is VALID [2022-04-07 15:11:24,933 INFO L290 TraceCheckUtils]: 21: Hoare triple {4723#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4695#(< ~counter~0 18)} is VALID [2022-04-07 15:11:24,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {4723#(< ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4723#(< ~counter~0 17)} is VALID [2022-04-07 15:11:24,933 INFO L290 TraceCheckUtils]: 19: Hoare triple {4723#(< ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {4723#(< ~counter~0 17)} is VALID [2022-04-07 15:11:24,934 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4453#true} {4723#(< ~counter~0 17)} #71#return; {4723#(< ~counter~0 17)} is VALID [2022-04-07 15:11:24,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-07 15:11:24,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-07 15:11:24,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-07 15:11:24,934 INFO L272 TraceCheckUtils]: 14: Hoare triple {4723#(< ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-07 15:11:24,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {4723#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {4723#(< ~counter~0 17)} is VALID [2022-04-07 15:11:24,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {4751#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4723#(< ~counter~0 17)} is VALID [2022-04-07 15:11:24,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {4751#(< ~counter~0 16)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4453#true} {4751#(< ~counter~0 16)} #69#return; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-07 15:11:24,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-07 15:11:24,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-07 15:11:24,935 INFO L272 TraceCheckUtils]: 6: Hoare triple {4751#(< ~counter~0 16)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4453#true} is VALID [2022-04-07 15:11:24,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {4751#(< ~counter~0 16)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~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; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {4751#(< ~counter~0 16)} call #t~ret7 := main(); {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4751#(< ~counter~0 16)} {4453#true} #77#return; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {4751#(< ~counter~0 16)} assume true; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4751#(< ~counter~0 16)} is VALID [2022-04-07 15:11:24,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-07 15:11:24,937 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 15:11:24,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:24,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [199791313] [2022-04-07 15:11:24,937 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:24,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1027603824] [2022-04-07 15:11:24,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1027603824] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:11:24,938 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:11:24,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 15:11:24,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1381473567] [2022-04-07 15:11:24,938 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:11:24,938 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-07 15:11:24,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:24,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:11:25,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:25,025 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 15:11:25,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:25,026 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 15:11:25,026 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 15:11:25,026 INFO L87 Difference]: Start difference. First operand 66 states and 79 transitions. Second operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:11:25,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:25,571 INFO L93 Difference]: Finished difference Result 140 states and 177 transitions. [2022-04-07 15:11:25,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 15:11:25,572 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-07 15:11:25,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:25,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:11:25,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-07 15:11:25,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:11:25,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-07 15:11:25,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 174 transitions. [2022-04-07 15:11:25,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:25,709 INFO L225 Difference]: With dead ends: 140 [2022-04-07 15:11:25,709 INFO L226 Difference]: Without dead ends: 132 [2022-04-07 15:11:25,709 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-07 15:11:25,710 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 223 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 223 SdHoareTripleChecker+Valid, 240 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:25,710 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [223 Valid, 240 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:11:25,710 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-07 15:11:25,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-07 15:11:25,780 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:25,780 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:11:25,780 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:11:25,781 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:11:25,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:25,782 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-07 15:11:25,782 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-07 15:11:25,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:25,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:25,783 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-07 15:11:25,783 INFO L87 Difference]: Start difference. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-07 15:11:25,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:25,785 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-07 15:11:25,785 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-07 15:11:25,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:25,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:25,785 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:25,785 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:25,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:11:25,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 163 transitions. [2022-04-07 15:11:25,787 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 163 transitions. Word has length 54 [2022-04-07 15:11:25,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:25,788 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 163 transitions. [2022-04-07 15:11:25,788 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:11:25,788 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-07 15:11:25,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-07 15:11:25,789 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:25,789 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:25,820 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 15:11:26,004 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 15:11:26,004 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:26,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:26,005 INFO L85 PathProgramCache]: Analyzing trace with hash 1397474810, now seen corresponding path program 3 times [2022-04-07 15:11:26,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:26,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [346179501] [2022-04-07 15:11:26,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:26,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:26,021 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:26,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [993974923] [2022-04-07 15:11:26,021 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 15:11:26,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:26,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:26,022 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:11:26,030 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process