/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/egcd-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 12:51:31,407 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 12:51:31,409 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 12:51:31,464 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 12:51:31,464 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 12:51:31,465 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 12:51:31,466 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 12:51:31,469 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 12:51:31,472 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 12:51:31,475 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 12:51:31,476 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 12:51:31,477 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 12:51:31,478 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 12:51:31,479 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 12:51:31,480 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 12:51:31,481 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 12:51:31,482 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 12:51:31,482 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 12:51:31,485 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 12:51:31,489 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 12:51:31,490 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 12:51:31,491 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 12:51:31,491 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 12:51:31,493 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 12:51:31,494 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 12:51:31,500 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 12:51:31,500 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 12:51:31,500 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 12:51:31,501 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 12:51:31,501 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 12:51:31,502 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 12:51:31,502 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 12:51:31,503 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 12:51:31,503 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 12:51:31,504 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 12:51:31,504 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 12:51:31,504 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 12:51:31,505 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 12:51:31,505 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 12:51:31,505 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 12:51:31,505 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 12:51:31,507 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 12:51:31,507 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-27 12:51:31,533 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 12:51:31,533 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 12:51:31,533 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 12:51:31,533 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 12:51:31,534 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 12:51:31,534 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 12:51:31,534 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 12:51:31,534 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 12:51:31,534 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 12:51:31,535 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 12:51:31,535 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 12:51:31,536 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 12:51:31,536 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 12:51:31,536 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 12:51:31,537 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:51:31,537 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 12:51:31,537 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 12:51:31,538 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 12:51:31,538 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 12:51:31,538 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 12:51:31,538 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-27 12:51:31,731 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 12:51:31,752 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 12:51:31,753 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 12:51:31,754 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 12:51:31,754 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 12:51:31,755 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-27 12:51:31,792 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/191f20a87/ccdc4ba5d85f462fa0e04b1d9e81f4e9/FLAG190814699 [2022-04-27 12:51:32,115 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 12:51:32,115 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-27 12:51:32,121 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/191f20a87/ccdc4ba5d85f462fa0e04b1d9e81f4e9/FLAG190814699 [2022-04-27 12:51:32,553 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/191f20a87/ccdc4ba5d85f462fa0e04b1d9e81f4e9 [2022-04-27 12:51:32,554 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 12:51:32,555 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 12:51:32,565 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 12:51:32,565 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 12:51:32,576 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 12:51:32,577 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,578 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1f6948a2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32, skipping insertion in model container [2022-04-27 12:51:32,578 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,583 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 12:51:32,594 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 12:51:32,743 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/egcd-ll_valuebound20.c[489,502] [2022-04-27 12:51:32,770 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:51:32,775 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 12:51:32,784 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/egcd-ll_valuebound20.c[489,502] [2022-04-27 12:51:32,791 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:51:32,801 INFO L208 MainTranslator]: Completed translation [2022-04-27 12:51:32,802 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32 WrapperNode [2022-04-27 12:51:32,802 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 12:51:32,802 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 12:51:32,802 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 12:51:32,802 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 12:51:32,809 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,809 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,814 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,814 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,826 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,830 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,837 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,840 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 12:51:32,841 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 12:51:32,841 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 12:51:32,841 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 12:51:32,842 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (1/1) ... [2022-04-27 12:51:32,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:51:32,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:32,862 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-27 12:51:32,895 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-27 12:51:32,919 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 12:51:32,919 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 12:51:32,919 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 12:51:32,920 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 12:51:32,921 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 12:51:32,921 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 12:51:32,921 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 12:51:32,922 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 12:51:32,968 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 12:51:32,969 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 12:51:33,125 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 12:51:33,129 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 12:51:33,129 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 12:51:33,130 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:51:33 BoogieIcfgContainer [2022-04-27 12:51:33,131 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 12:51:33,132 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 12:51:33,132 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 12:51:33,152 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 12:51:33,153 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 12:51:32" (1/3) ... [2022-04-27 12:51:33,153 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73e7997f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:51:33, skipping insertion in model container [2022-04-27 12:51:33,153 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:51:32" (2/3) ... [2022-04-27 12:51:33,154 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73e7997f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:51:33, skipping insertion in model container [2022-04-27 12:51:33,154 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:51:33" (3/3) ... [2022-04-27 12:51:33,155 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-04-27 12:51:33,163 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 12:51:33,164 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 12:51:33,207 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 12:51:33,216 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@32885099, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@12221843 [2022-04-27 12:51:33,216 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 12:51:33,222 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 12:51:33,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 12:51:33,228 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:33,228 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:51:33,229 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:33,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:33,233 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-27 12:51:33,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:33,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1904380241] [2022-04-27 12:51:33,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:33,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:33,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:51:33,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-27 12:51:33,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 12:51:33,410 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-27 12:51:33,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:51:33,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-27 12:51:33,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 12:51:33,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-27 12:51:33,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 12:51:33,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-27 12:51:33,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 12:51:33,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:33,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-27 12:51:33,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 12:51:33,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-27 12:51:33,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 12:51:33,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-27 12:51:33,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-27 12:51:33,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-27 12:51:33,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-27 12:51:33,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-27 12:51:33,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-27 12:51:33,458 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-27 12:51:33,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,460 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-27 12:51:33,460 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 12:51:33,461 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,461 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,462 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-27 12:51:33,462 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 12:51:33,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 12:51:33,463 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 12:51:33,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 12:51:33,463 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-27 12:51:33,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-27 12:51:33,465 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-27 12:51:33,466 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-27 12:51:33,466 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 12:51:33,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 12:51:33,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 12:51:33,466 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 12:51:33,467 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:33,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1904380241] [2022-04-27 12:51:33,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1904380241] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:51:33,468 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:51:33,468 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 12:51:33,469 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751920923] [2022-04-27 12:51:33,469 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:33,473 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 12:51:33,474 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:33,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:51:33,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:33,525 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 12:51:33,526 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:33,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 12:51:33,539 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:51:33,541 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:51:33,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:33,693 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-27 12:51:33,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 12:51:33,694 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 12:51:33,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:33,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:51:33,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-27 12:51:33,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:51:33,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-27 12:51:33,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-27 12:51:33,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:33,870 INFO L225 Difference]: With dead ends: 67 [2022-04-27 12:51:33,870 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 12:51:33,879 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 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-27 12:51:33,882 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:33,882 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:51:33,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 12:51:33,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 12:51:33,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:33,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 12:51:33,908 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 12:51:33,909 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 12:51:33,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:33,913 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-27 12:51:33,913 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 12:51:33,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:33,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:33,915 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-27 12:51:33,915 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-27 12:51:33,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:33,919 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-27 12:51:33,919 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 12:51:33,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:33,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:33,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:33,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:33,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 12:51:33,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-27 12:51:33,924 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-27 12:51:33,925 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:33,925 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-27 12:51:33,925 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:51:33,925 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 12:51:33,926 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 12:51:33,926 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:33,926 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:51:33,926 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 12:51:33,926 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:33,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:33,927 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-27 12:51:33,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:33,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386873388] [2022-04-27 12:51:33,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:33,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:33,958 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:33,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [664231037] [2022-04-27 12:51:33,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:33,958 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:33,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:33,960 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-27 12:51:33,961 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-27 12:51:34,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:34,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:51:34,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:34,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:35,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {276#true} call ULTIMATE.init(); {276#true} is VALID [2022-04-27 12:51:35,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {276#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(10, 2);call #Ultimate.allocInit(12, 3); {276#true} is VALID [2022-04-27 12:51:35,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 12:51:35,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {276#true} {276#true} #88#return; {276#true} is VALID [2022-04-27 12:51:35,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {276#true} call #t~ret6 := main(); {276#true} is VALID [2022-04-27 12:51:35,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {276#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {276#true} is VALID [2022-04-27 12:51:35,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {276#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {276#true} is VALID [2022-04-27 12:51:35,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 12:51:35,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 12:51:35,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 12:51:35,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {276#true} {276#true} #66#return; {276#true} is VALID [2022-04-27 12:51:35,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {276#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {276#true} is VALID [2022-04-27 12:51:35,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {276#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {276#true} is VALID [2022-04-27 12:51:35,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 12:51:35,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 12:51:35,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 12:51:35,345 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {276#true} {276#true} #68#return; {276#true} is VALID [2022-04-27 12:51:35,345 INFO L272 TraceCheckUtils]: 17: Hoare triple {276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 12:51:35,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 12:51:35,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 12:51:35,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 12:51:35,346 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {276#true} {276#true} #70#return; {276#true} is VALID [2022-04-27 12:51:35,346 INFO L272 TraceCheckUtils]: 22: Hoare triple {276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 12:51:35,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 12:51:35,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 12:51:35,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 12:51:35,346 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {276#true} {276#true} #72#return; {276#true} is VALID [2022-04-27 12:51:35,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:51:35,348 INFO L290 TraceCheckUtils]: 28: Hoare triple {362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:51:35,348 INFO L272 TraceCheckUtils]: 29: Hoare triple {362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:35,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:35,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {277#false} is VALID [2022-04-27 12:51:35,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {277#false} assume !false; {277#false} is VALID [2022-04-27 12:51:35,350 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 12:51:35,350 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:51:35,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:35,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386873388] [2022-04-27 12:51:35,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:51:35,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [664231037] [2022-04-27 12:51:35,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [664231037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:51:35,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:51:35,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:51:35,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [827465101] [2022-04-27 12:51:35,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:35,352 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-27 12:51:35,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:35,353 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 12:51:35,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:35,371 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:51:35,371 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:35,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:51:35,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:51:35,372 INFO L87 Difference]: Start difference. First operand 32 states and 42 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 12:51:35,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:35,602 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-27 12:51:35,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:51:35,603 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-27 12:51:35,603 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:35,603 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 12:51:35,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:35,606 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 12:51:35,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:35,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 12:51:35,667 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:35,669 INFO L225 Difference]: With dead ends: 48 [2022-04-27 12:51:35,669 INFO L226 Difference]: Without dead ends: 46 [2022-04-27 12:51:35,669 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 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-27 12:51:35,670 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:35,671 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:51:35,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-27 12:51:35,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-27 12:51:35,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:35,677 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:35,678 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:35,678 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:35,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:35,681 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-27 12:51:35,681 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-27 12:51:35,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:35,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:35,682 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-27 12:51:35,683 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-27 12:51:35,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:35,685 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-27 12:51:35,686 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-27 12:51:35,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:35,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:35,686 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:35,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:35,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:35,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-27 12:51:35,690 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-27 12:51:35,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:35,690 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-27 12:51:35,690 INFO L496 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 12:51:35,690 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-27 12:51:35,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 12:51:35,691 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:35,691 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:51:35,708 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-27 12:51:35,908 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:35,908 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:35,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:35,909 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-27 12:51:35,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:35,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [811994117] [2022-04-27 12:51:35,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:35,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:35,932 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:35,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1021718702] [2022-04-27 12:51:35,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:35,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:35,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:35,937 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-27 12:51:35,942 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-27 12:51:35,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:35,988 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:51:36,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:36,005 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:40,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {619#true} call ULTIMATE.init(); {619#true} is VALID [2022-04-27 12:51:40,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {619#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(10, 2);call #Ultimate.allocInit(12, 3); {619#true} is VALID [2022-04-27 12:51:40,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {619#true} {619#true} #88#return; {619#true} is VALID [2022-04-27 12:51:40,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {619#true} call #t~ret6 := main(); {619#true} is VALID [2022-04-27 12:51:40,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {619#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {619#true} is VALID [2022-04-27 12:51:40,194 INFO L272 TraceCheckUtils]: 6: Hoare triple {619#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {619#true} is VALID [2022-04-27 12:51:40,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {619#true} ~cond := #in~cond; {619#true} is VALID [2022-04-27 12:51:40,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {619#true} assume !(0 == ~cond); {619#true} is VALID [2022-04-27 12:51:40,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {619#true} {619#true} #66#return; {619#true} is VALID [2022-04-27 12:51:40,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {619#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {619#true} is VALID [2022-04-27 12:51:40,195 INFO L272 TraceCheckUtils]: 12: Hoare triple {619#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {619#true} is VALID [2022-04-27 12:51:40,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {619#true} ~cond := #in~cond; {619#true} is VALID [2022-04-27 12:51:40,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {619#true} assume !(0 == ~cond); {619#true} is VALID [2022-04-27 12:51:40,195 INFO L290 TraceCheckUtils]: 15: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,195 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {619#true} {619#true} #68#return; {619#true} is VALID [2022-04-27 12:51:40,195 INFO L272 TraceCheckUtils]: 17: Hoare triple {619#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {619#true} is VALID [2022-04-27 12:51:40,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {619#true} ~cond := #in~cond; {619#true} is VALID [2022-04-27 12:51:40,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {619#true} assume !(0 == ~cond); {619#true} is VALID [2022-04-27 12:51:40,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,196 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {619#true} {619#true} #70#return; {619#true} is VALID [2022-04-27 12:51:40,196 INFO L272 TraceCheckUtils]: 22: Hoare triple {619#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {619#true} is VALID [2022-04-27 12:51:40,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {619#true} ~cond := #in~cond; {619#true} is VALID [2022-04-27 12:51:40,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {619#true} assume !(0 == ~cond); {619#true} is VALID [2022-04-27 12:51:40,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,196 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {619#true} {619#true} #72#return; {619#true} is VALID [2022-04-27 12:51:40,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {619#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:40,198 INFO L290 TraceCheckUtils]: 28: Hoare triple {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:40,198 INFO L272 TraceCheckUtils]: 29: Hoare triple {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {619#true} is VALID [2022-04-27 12:51:40,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {619#true} ~cond := #in~cond; {619#true} is VALID [2022-04-27 12:51:40,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {619#true} assume !(0 == ~cond); {619#true} is VALID [2022-04-27 12:51:40,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {619#true} assume true; {619#true} is VALID [2022-04-27 12:51:40,200 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {619#true} {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:40,202 INFO L272 TraceCheckUtils]: 34: Hoare triple {705#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:40,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:40,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {620#false} is VALID [2022-04-27 12:51:40,203 INFO L290 TraceCheckUtils]: 37: Hoare triple {620#false} assume !false; {620#false} is VALID [2022-04-27 12:51:40,203 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 12:51:40,204 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:51:40,204 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:40,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [811994117] [2022-04-27 12:51:40,204 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:51:40,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1021718702] [2022-04-27 12:51:40,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1021718702] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:51:40,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:51:40,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:51:40,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [688864752] [2022-04-27 12:51:40,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:40,205 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 12:51:40,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:40,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:51:40,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:40,234 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:51:40,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:40,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:51:40,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:51:40,235 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:51:40,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:40,439 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-27 12:51:40,439 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:51:40,442 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 12:51:40,442 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:40,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:51:40,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:40,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:51:40,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:40,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 12:51:40,506 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:40,507 INFO L225 Difference]: With dead ends: 52 [2022-04-27 12:51:40,508 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 12:51:40,508 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 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-27 12:51:40,509 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:40,509 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:51:40,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 12:51:40,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-27 12:51:40,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:40,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:40,522 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:40,523 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:40,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:40,527 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-27 12:51:40,528 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-27 12:51:40,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:40,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:40,533 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-27 12:51:40,533 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-27 12:51:40,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:40,536 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-27 12:51:40,536 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-27 12:51:40,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:40,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:40,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:40,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:40,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 12:51:40,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-27 12:51:40,539 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-27 12:51:40,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:40,540 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-27 12:51:40,540 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:51:40,540 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-27 12:51:40,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 12:51:40,541 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:40,541 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 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, 1, 1] [2022-04-27 12:51:40,560 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-27 12:51:40,760 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-27 12:51:40,760 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:40,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:40,761 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-27 12:51:40,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:40,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [125281359] [2022-04-27 12:51:40,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:40,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:40,775 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:40,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [389637532] [2022-04-27 12:51:40,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:40,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:40,776 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:40,780 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-27 12:51:40,781 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-27 12:51:40,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:40,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 12:51:40,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:40,825 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:41,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {995#true} call ULTIMATE.init(); {995#true} is VALID [2022-04-27 12:51:41,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {995#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(10, 2);call #Ultimate.allocInit(12, 3); {995#true} is VALID [2022-04-27 12:51:41,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {995#true} {995#true} #88#return; {995#true} is VALID [2022-04-27 12:51:41,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {995#true} call #t~ret6 := main(); {995#true} is VALID [2022-04-27 12:51:41,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {995#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {995#true} is VALID [2022-04-27 12:51:41,141 INFO L272 TraceCheckUtils]: 6: Hoare triple {995#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {995#true} ~cond := #in~cond; {1021#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:51:41,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {1021#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1025#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:51:41,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {1025#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1025#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:51:41,143 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1025#(not (= |assume_abort_if_not_#in~cond| 0))} {995#true} #66#return; {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 12:51:41,143 INFO L290 TraceCheckUtils]: 11: Hoare triple {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 12:51:41,144 INFO L272 TraceCheckUtils]: 12: Hoare triple {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,144 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {995#true} {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #68#return; {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 12:51:41,144 INFO L272 TraceCheckUtils]: 17: Hoare triple {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {995#true} ~cond := #in~cond; {1021#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:51:41,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {1021#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1025#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:51:41,145 INFO L290 TraceCheckUtils]: 20: Hoare triple {1025#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1025#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:51:41,146 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1025#(not (= |assume_abort_if_not_#in~cond| 0))} {1032#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #70#return; {1066#(and (<= main_~x~0 20) (<= 1 main_~x~0))} is VALID [2022-04-27 12:51:41,146 INFO L272 TraceCheckUtils]: 22: Hoare triple {1066#(and (<= main_~x~0 20) (<= 1 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,146 INFO L290 TraceCheckUtils]: 24: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,146 INFO L290 TraceCheckUtils]: 25: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,147 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {995#true} {1066#(and (<= main_~x~0 20) (<= 1 main_~x~0))} #72#return; {1066#(and (<= main_~x~0 20) (<= 1 main_~x~0))} is VALID [2022-04-27 12:51:41,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {1066#(and (<= main_~x~0 20) (<= 1 main_~x~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:51:41,148 INFO L290 TraceCheckUtils]: 28: Hoare triple {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:51:41,148 INFO L272 TraceCheckUtils]: 29: Hoare triple {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,149 INFO L290 TraceCheckUtils]: 32: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,149 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {995#true} {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:51:41,149 INFO L272 TraceCheckUtils]: 34: Hoare triple {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,150 INFO L290 TraceCheckUtils]: 35: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,150 INFO L290 TraceCheckUtils]: 36: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,150 INFO L290 TraceCheckUtils]: 37: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,151 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {995#true} {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:51:41,152 INFO L272 TraceCheckUtils]: 39: Hoare triple {1085#(and (<= main_~x~0 20) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:41,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {1122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:41,153 INFO L290 TraceCheckUtils]: 41: Hoare triple {1126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {996#false} is VALID [2022-04-27 12:51:41,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {996#false} assume !false; {996#false} is VALID [2022-04-27 12:51:41,153 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 9 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 12:51:41,153 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:51:41,504 INFO L290 TraceCheckUtils]: 42: Hoare triple {996#false} assume !false; {996#false} is VALID [2022-04-27 12:51:41,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {1126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {996#false} is VALID [2022-04-27 12:51:41,505 INFO L290 TraceCheckUtils]: 40: Hoare triple {1122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:41,506 INFO L272 TraceCheckUtils]: 39: Hoare triple {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:41,507 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {995#true} {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:51:41,507 INFO L290 TraceCheckUtils]: 37: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,507 INFO L290 TraceCheckUtils]: 35: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,508 INFO L272 TraceCheckUtils]: 34: Hoare triple {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,509 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {995#true} {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:51:41,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,509 INFO L272 TraceCheckUtils]: 29: Hoare triple {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,510 INFO L290 TraceCheckUtils]: 28: Hoare triple {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:51:41,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {995#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1142#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:51:41,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {995#true} {995#true} #72#return; {995#true} is VALID [2022-04-27 12:51:41,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L272 TraceCheckUtils]: 22: Hoare triple {995#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {995#true} {995#true} #70#return; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L272 TraceCheckUtils]: 17: Hoare triple {995#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,512 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {995#true} {995#true} #68#return; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 14: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L272 TraceCheckUtils]: 12: Hoare triple {995#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {995#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {995#true} {995#true} #66#return; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {995#true} assume !(0 == ~cond); {995#true} is VALID [2022-04-27 12:51:41,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {995#true} ~cond := #in~cond; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {995#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {995#true} is VALID [2022-04-27 12:51:41,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {995#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {995#true} is VALID [2022-04-27 12:51:41,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {995#true} call #t~ret6 := main(); {995#true} is VALID [2022-04-27 12:51:41,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {995#true} {995#true} #88#return; {995#true} is VALID [2022-04-27 12:51:41,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {995#true} assume true; {995#true} is VALID [2022-04-27 12:51:41,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {995#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(10, 2);call #Ultimate.allocInit(12, 3); {995#true} is VALID [2022-04-27 12:51:41,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {995#true} call ULTIMATE.init(); {995#true} is VALID [2022-04-27 12:51:41,514 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 12:51:41,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:41,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [125281359] [2022-04-27 12:51:41,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:51:41,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389637532] [2022-04-27 12:51:41,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389637532] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:51:41,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:51:41,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 12:51:41,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [500906787] [2022-04-27 12:51:41,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:41,515 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 12:51:41,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:41,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 12:51:41,533 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:41,534 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:51:41,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:41,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:51:41,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 12:51:41,535 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 12:51:41,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:41,859 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-27 12:51:41,859 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:51:41,859 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 12:51:41,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:41,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 12:51:41,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:41,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 12:51:41,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 12:51:41,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 12:51:41,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:41,915 INFO L225 Difference]: With dead ends: 74 [2022-04-27 12:51:41,915 INFO L226 Difference]: Without dead ends: 70 [2022-04-27 12:51:41,915 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:51:41,916 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:41,916 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 137 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:51:41,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-27 12:51:41,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-27 12:51:41,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:41,950 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:41,950 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:41,951 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:41,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:41,957 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-27 12:51:41,957 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-27 12:51:41,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:41,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:41,958 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-27 12:51:41,958 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-27 12:51:41,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:41,961 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-27 12:51:41,962 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-27 12:51:41,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:41,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:41,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:41,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:41,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:41,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-27 12:51:41,966 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-27 12:51:41,966 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:41,966 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-27 12:51:41,966 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 12:51:41,966 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-27 12:51:41,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 12:51:41,967 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:41,967 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:51:41,987 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-27 12:51:42,187 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:42,188 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:42,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:42,188 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-27 12:51:42,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:42,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1021865624] [2022-04-27 12:51:42,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:42,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:42,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:42,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33684543] [2022-04-27 12:51:42,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:42,209 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:42,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:42,210 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-27 12:51:42,216 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-27 12:51:42,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:42,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 12:51:42,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:42,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:42,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {1632#true} call ULTIMATE.init(); {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {1632#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(10, 2);call #Ultimate.allocInit(12, 3); {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1632#true} {1632#true} #88#return; {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {1632#true} call #t~ret6 := main(); {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {1632#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {1632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1632#true} {1632#true} #66#return; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {1632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L272 TraceCheckUtils]: 12: Hoare triple {1632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 13: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 14: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 15: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1632#true} {1632#true} #68#return; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L272 TraceCheckUtils]: 17: Hoare triple {1632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,364 INFO L290 TraceCheckUtils]: 19: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 20: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1632#true} {1632#true} #70#return; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L272 TraceCheckUtils]: 22: Hoare triple {1632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 23: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1632#true} {1632#true} #72#return; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 27: Hoare triple {1632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 28: Hoare triple {1632#true} assume !false; {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L272 TraceCheckUtils]: 29: Hoare triple {1632#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 31: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 32: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1632#true} {1632#true} #74#return; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L272 TraceCheckUtils]: 34: Hoare triple {1632#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 36: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 37: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1632#true} {1632#true} #76#return; {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L272 TraceCheckUtils]: 39: Hoare triple {1632#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1632#true} is VALID [2022-04-27 12:51:42,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {1632#true} ~cond := #in~cond; {1632#true} is VALID [2022-04-27 12:51:42,367 INFO L290 TraceCheckUtils]: 41: Hoare triple {1632#true} assume !(0 == ~cond); {1632#true} is VALID [2022-04-27 12:51:42,367 INFO L290 TraceCheckUtils]: 42: Hoare triple {1632#true} assume true; {1632#true} is VALID [2022-04-27 12:51:42,367 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1632#true} {1632#true} #78#return; {1632#true} is VALID [2022-04-27 12:51:42,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {1632#true} assume !(~a~0 != ~b~0); {1769#(= main_~b~0 main_~a~0)} is VALID [2022-04-27 12:51:42,381 INFO L272 TraceCheckUtils]: 45: Hoare triple {1769#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:42,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:42,381 INFO L290 TraceCheckUtils]: 47: Hoare triple {1777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1633#false} is VALID [2022-04-27 12:51:42,381 INFO L290 TraceCheckUtils]: 48: Hoare triple {1633#false} assume !false; {1633#false} is VALID [2022-04-27 12:51:42,382 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 12:51:42,382 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:51:42,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:42,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1021865624] [2022-04-27 12:51:42,382 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:51:42,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33684543] [2022-04-27 12:51:42,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33684543] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:51:42,382 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:51:42,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:51:42,382 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [900856411] [2022-04-27 12:51:42,383 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:42,383 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-27 12:51:42,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:42,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-27 12:51:42,402 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-27 12:51:42,403 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:51:42,403 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:42,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:51:42,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:51:42,403 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-27 12:51:42,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:42,553 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-27 12:51:42,553 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:51:42,553 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-27 12:51:42,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:42,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-27 12:51:42,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 12:51:42,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-27 12:51:42,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 12:51:42,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-27 12:51:42,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:42,589 INFO L225 Difference]: With dead ends: 76 [2022-04-27 12:51:42,589 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 12:51:42,589 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 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-27 12:51:42,590 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:42,590 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:51:42,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 12:51:42,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-27 12:51:42,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:42,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:42,598 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:42,599 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:42,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:42,601 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-27 12:51:42,602 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-27 12:51:42,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:42,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:42,603 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-27 12:51:42,603 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-27 12:51:42,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:42,606 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-27 12:51:42,606 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-27 12:51:42,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:42,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:42,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:42,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:42,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 12:51:42,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-27 12:51:42,623 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-27 12:51:42,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:42,623 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-27 12:51:42,623 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-27 12:51:42,623 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-27 12:51:42,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 12:51:42,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:42,624 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 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, 1, 1, 1] [2022-04-27 12:51:42,647 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-27 12:51:42,839 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:42,839 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:42,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:42,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-27 12:51:42,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:42,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [350376469] [2022-04-27 12:51:42,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:42,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:42,862 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:42,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1398145572] [2022-04-27 12:51:42,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:42,863 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:42,863 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:42,872 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-27 12:51:42,873 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-27 12:51:42,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:42,907 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 12:51:42,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:42,923 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:47,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {2167#true} call ULTIMATE.init(); {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {2167#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(10, 2);call #Ultimate.allocInit(12, 3); {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2167#true} {2167#true} #88#return; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {2167#true} call #t~ret6 := main(); {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {2167#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {2167#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2167#true} {2167#true} #66#return; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {2167#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2167#true} is VALID [2022-04-27 12:51:47,134 INFO L272 TraceCheckUtils]: 12: Hoare triple {2167#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2167#true} {2167#true} #68#return; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {2167#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2167#true} {2167#true} #70#return; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L272 TraceCheckUtils]: 22: Hoare triple {2167#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 24: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,136 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2167#true} {2167#true} #72#return; {2167#true} is VALID [2022-04-27 12:51:47,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {2167#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,136 INFO L290 TraceCheckUtils]: 28: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,137 INFO L272 TraceCheckUtils]: 29: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,137 INFO L290 TraceCheckUtils]: 32: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,137 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2167#true} {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,137 INFO L272 TraceCheckUtils]: 34: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,138 INFO L290 TraceCheckUtils]: 35: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,138 INFO L290 TraceCheckUtils]: 37: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,138 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2167#true} {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,139 INFO L272 TraceCheckUtils]: 39: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2167#true} is VALID [2022-04-27 12:51:47,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {2167#true} ~cond := #in~cond; {2167#true} is VALID [2022-04-27 12:51:47,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {2167#true} assume !(0 == ~cond); {2167#true} is VALID [2022-04-27 12:51:47,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {2167#true} assume true; {2167#true} is VALID [2022-04-27 12:51:47,139 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2167#true} {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,143 INFO L290 TraceCheckUtils]: 46: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:51:47,144 INFO L272 TraceCheckUtils]: 47: Hoare triple {2253#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2314#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:47,144 INFO L290 TraceCheckUtils]: 48: Hoare triple {2314#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2318#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:47,144 INFO L290 TraceCheckUtils]: 49: Hoare triple {2318#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2168#false} is VALID [2022-04-27 12:51:47,145 INFO L290 TraceCheckUtils]: 50: Hoare triple {2168#false} assume !false; {2168#false} is VALID [2022-04-27 12:51:47,145 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-27 12:51:47,145 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:51:47,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:51:47,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [350376469] [2022-04-27 12:51:47,145 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:51:47,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1398145572] [2022-04-27 12:51:47,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1398145572] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:51:47,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:51:47,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:51:47,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1476289826] [2022-04-27 12:51:47,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:51:47,146 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-27 12:51:47,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:51:47,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:51:47,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:47,170 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:51:47,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:51:47,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:51:47,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:51:47,171 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:51:47,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:47,334 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-27 12:51:47,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:51:47,334 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-27 12:51:47,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:51:47,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:51:47,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-27 12:51:47,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:51:47,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-27 12:51:47,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-27 12:51:47,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:51:47,401 INFO L225 Difference]: With dead ends: 84 [2022-04-27 12:51:47,401 INFO L226 Difference]: Without dead ends: 81 [2022-04-27 12:51:47,401 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 12:51:47,402 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:51:47,402 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:51:47,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-27 12:51:47,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-27 12:51:47,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:51:47,412 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:51:47,412 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:51:47,413 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:51:47,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:47,415 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-27 12:51:47,415 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-27 12:51:47,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:47,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:47,416 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-27 12:51:47,416 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-27 12:51:47,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:51:47,419 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-27 12:51:47,419 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-27 12:51:47,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:51:47,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:51:47,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:51:47,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:51:47,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:51:47,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-27 12:51:47,422 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-27 12:51:47,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:51:47,422 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-27 12:51:47,423 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:51:47,423 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-27 12:51:47,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 12:51:47,423 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:51:47,423 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:51:47,447 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 12:51:47,641 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:47,642 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:51:47,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:51:47,642 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-27 12:51:47,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:51:47,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [883357928] [2022-04-27 12:51:47,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:47,642 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:51:47,654 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:51:47,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [116487339] [2022-04-27 12:51:47,654 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:51:47,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:51:47,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:51:47,655 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-27 12:51:47,656 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-27 12:51:47,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:47,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 12:51:47,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:51:47,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:51:47,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {2736#true} call ULTIMATE.init(); {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {2736#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(10, 2);call #Ultimate.allocInit(12, 3); {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2736#true} {2736#true} #88#return; {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L272 TraceCheckUtils]: 4: Hoare triple {2736#true} call #t~ret6 := main(); {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {2736#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L272 TraceCheckUtils]: 6: Hoare triple {2736#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,869 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2736#true} {2736#true} #66#return; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {2736#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L272 TraceCheckUtils]: 12: Hoare triple {2736#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2736#true} {2736#true} #68#return; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L272 TraceCheckUtils]: 17: Hoare triple {2736#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2736#true} {2736#true} #70#return; {2736#true} is VALID [2022-04-27 12:51:47,870 INFO L272 TraceCheckUtils]: 22: Hoare triple {2736#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2736#true} {2736#true} #72#return; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {2736#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 28: Hoare triple {2736#true} assume !false; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L272 TraceCheckUtils]: 29: Hoare triple {2736#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 30: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 31: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L290 TraceCheckUtils]: 32: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2736#true} {2736#true} #74#return; {2736#true} is VALID [2022-04-27 12:51:47,871 INFO L272 TraceCheckUtils]: 34: Hoare triple {2736#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {2736#true} ~cond := #in~cond; {2846#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:47,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {2846#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:51:47,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:51:47,875 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} {2736#true} #76#return; {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:51:47,875 INFO L272 TraceCheckUtils]: 39: Hoare triple {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,876 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2736#true} {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:51:47,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:51:47,877 INFO L272 TraceCheckUtils]: 45: Hoare triple {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:51:47,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:51:47,877 INFO L290 TraceCheckUtils]: 47: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:51:47,877 INFO L290 TraceCheckUtils]: 48: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:51:47,892 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2736#true} {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:51:47,894 INFO L272 TraceCheckUtils]: 50: Hoare triple {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {2895#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:51:47,895 INFO L290 TraceCheckUtils]: 51: Hoare triple {2895#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2899#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:51:47,897 INFO L290 TraceCheckUtils]: 52: Hoare triple {2899#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2737#false} is VALID [2022-04-27 12:51:47,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {2737#false} assume !false; {2737#false} is VALID [2022-04-27 12:51:47,898 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 12:51:47,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:52:03,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {2737#false} assume !false; {2737#false} is VALID [2022-04-27 12:52:03,114 INFO L290 TraceCheckUtils]: 52: Hoare triple {2899#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2737#false} is VALID [2022-04-27 12:52:03,114 INFO L290 TraceCheckUtils]: 51: Hoare triple {2895#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2899#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:03,115 INFO L272 TraceCheckUtils]: 50: Hoare triple {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {2895#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:52:03,116 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2736#true} {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:03,116 INFO L290 TraceCheckUtils]: 48: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,116 INFO L290 TraceCheckUtils]: 47: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,116 INFO L290 TraceCheckUtils]: 46: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,116 INFO L272 TraceCheckUtils]: 45: Hoare triple {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,117 INFO L290 TraceCheckUtils]: 44: Hoare triple {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2876#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:03,117 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2736#true} {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:03,118 INFO L290 TraceCheckUtils]: 42: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,118 INFO L290 TraceCheckUtils]: 41: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,118 INFO L290 TraceCheckUtils]: 40: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,118 INFO L272 TraceCheckUtils]: 39: Hoare triple {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,119 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} {2736#true} #76#return; {2857#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:03,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:03,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {2960#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 35: Hoare triple {2736#true} ~cond := #in~cond; {2960#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:52:03,120 INFO L272 TraceCheckUtils]: 34: Hoare triple {2736#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2736#true} {2736#true} #74#return; {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 32: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 31: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 30: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L272 TraceCheckUtils]: 29: Hoare triple {2736#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 28: Hoare triple {2736#true} assume !false; {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {2736#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2736#true} is VALID [2022-04-27 12:52:03,120 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2736#true} {2736#true} #72#return; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 25: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L272 TraceCheckUtils]: 22: Hoare triple {2736#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2736#true} {2736#true} #70#return; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L272 TraceCheckUtils]: 17: Hoare triple {2736#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2736#true} {2736#true} #68#return; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L272 TraceCheckUtils]: 12: Hoare triple {2736#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {2736#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2736#true} {2736#true} #66#return; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {2736#true} assume !(0 == ~cond); {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {2736#true} ~cond := #in~cond; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {2736#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {2736#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {2736#true} call #t~ret6 := main(); {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2736#true} {2736#true} #88#return; {2736#true} is VALID [2022-04-27 12:52:03,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {2736#true} assume true; {2736#true} is VALID [2022-04-27 12:52:03,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {2736#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(10, 2);call #Ultimate.allocInit(12, 3); {2736#true} is VALID [2022-04-27 12:52:03,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {2736#true} call ULTIMATE.init(); {2736#true} is VALID [2022-04-27 12:52:03,123 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 12:52:03,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:52:03,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [883357928] [2022-04-27 12:52:03,123 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:52:03,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [116487339] [2022-04-27 12:52:03,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [116487339] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:52:03,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:52:03,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 12:52:03,124 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [762781556] [2022-04-27 12:52:03,124 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:52:03,124 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-27 12:52:03,124 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:52:03,125 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 12:52:03,156 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-27 12:52:03,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 12:52:03,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:52:03,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 12:52:03,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:52:03,157 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 12:52:03,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:03,699 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-27 12:52:03,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 12:52:03,700 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-27 12:52:03,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:52:03,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 12:52:03,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-27 12:52:03,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 12:52:03,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-27 12:52:03,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-27 12:52:03,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:03,752 INFO L225 Difference]: With dead ends: 88 [2022-04-27 12:52:03,752 INFO L226 Difference]: Without dead ends: 84 [2022-04-27 12:52:03,753 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-27 12:52:03,753 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 13 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 141 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 141 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 12:52:03,754 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 150 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 141 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 12:52:03,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-27 12:52:03,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-27 12:52:03,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:52:03,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 12:52:03,764 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 12:52:03,765 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 12:52:03,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:03,767 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-27 12:52:03,767 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-27 12:52:03,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:03,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:03,768 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-27 12:52:03,768 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-27 12:52:03,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:03,771 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-27 12:52:03,771 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-27 12:52:03,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:03,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:03,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:52:03,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:52:03,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 12:52:03,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-27 12:52:03,774 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-27 12:52:03,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:52:03,774 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-27 12:52:03,775 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 12:52:03,775 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-27 12:52:03,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 12:52:03,775 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:52:03,775 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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, 1] [2022-04-27 12:52:03,811 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-27 12:52:04,005 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:04,006 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:52:04,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:52:04,006 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 2 times [2022-04-27 12:52:04,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:52:04,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [696307954] [2022-04-27 12:52:04,007 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:52:04,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:52:04,022 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:52:04,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [476857128] [2022-04-27 12:52:04,023 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:52:04,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:04,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:52:04,033 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-27 12:52:04,033 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-27 12:52:04,072 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:52:04,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:52:04,073 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 12:52:04,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:52:04,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:52:04,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {3502#true} call ULTIMATE.init(); {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {3502#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(10, 2);call #Ultimate.allocInit(12, 3); {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3502#true} {3502#true} #88#return; {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L272 TraceCheckUtils]: 4: Hoare triple {3502#true} call #t~ret6 := main(); {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L290 TraceCheckUtils]: 5: Hoare triple {3502#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3502#true} is VALID [2022-04-27 12:52:04,358 INFO L272 TraceCheckUtils]: 6: Hoare triple {3502#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3502#true} {3502#true} #66#return; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {3502#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L272 TraceCheckUtils]: 12: Hoare triple {3502#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3502#true} {3502#true} #68#return; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L272 TraceCheckUtils]: 17: Hoare triple {3502#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3502#true} {3502#true} #70#return; {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L272 TraceCheckUtils]: 22: Hoare triple {3502#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L290 TraceCheckUtils]: 24: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L290 TraceCheckUtils]: 25: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,360 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3502#true} {3502#true} #72#return; {3502#true} is VALID [2022-04-27 12:52:04,361 INFO L290 TraceCheckUtils]: 27: Hoare triple {3502#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,361 INFO L290 TraceCheckUtils]: 28: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,361 INFO L272 TraceCheckUtils]: 29: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,361 INFO L290 TraceCheckUtils]: 30: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,361 INFO L290 TraceCheckUtils]: 31: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,361 INFO L290 TraceCheckUtils]: 32: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,362 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3502#true} {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,362 INFO L272 TraceCheckUtils]: 34: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,362 INFO L290 TraceCheckUtils]: 35: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,363 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3502#true} {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,363 INFO L272 TraceCheckUtils]: 39: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,363 INFO L290 TraceCheckUtils]: 41: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,363 INFO L290 TraceCheckUtils]: 42: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,364 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3502#true} {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:04,365 INFO L290 TraceCheckUtils]: 45: Hoare triple {3588#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-27 12:52:04,366 INFO L290 TraceCheckUtils]: 46: Hoare triple {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} assume !false; {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-27 12:52:04,366 INFO L272 TraceCheckUtils]: 47: Hoare triple {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,366 INFO L290 TraceCheckUtils]: 49: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,366 INFO L290 TraceCheckUtils]: 50: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,366 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3502#true} {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} #74#return; {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-27 12:52:04,367 INFO L272 TraceCheckUtils]: 52: Hoare triple {3643#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3665#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:52:04,367 INFO L290 TraceCheckUtils]: 53: Hoare triple {3665#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3669#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:04,368 INFO L290 TraceCheckUtils]: 54: Hoare triple {3669#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3503#false} is VALID [2022-04-27 12:52:04,368 INFO L290 TraceCheckUtils]: 55: Hoare triple {3503#false} assume !false; {3503#false} is VALID [2022-04-27 12:52:04,368 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-27 12:52:04,368 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:52:04,580 INFO L290 TraceCheckUtils]: 55: Hoare triple {3503#false} assume !false; {3503#false} is VALID [2022-04-27 12:52:04,580 INFO L290 TraceCheckUtils]: 54: Hoare triple {3669#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3503#false} is VALID [2022-04-27 12:52:04,581 INFO L290 TraceCheckUtils]: 53: Hoare triple {3665#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3669#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:04,581 INFO L272 TraceCheckUtils]: 52: Hoare triple {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3665#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:52:04,582 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3502#true} {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:04,582 INFO L290 TraceCheckUtils]: 50: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,582 INFO L290 TraceCheckUtils]: 49: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,582 INFO L290 TraceCheckUtils]: 48: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,582 INFO L272 TraceCheckUtils]: 47: Hoare triple {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,583 INFO L290 TraceCheckUtils]: 46: Hoare triple {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:04,753 INFO L290 TraceCheckUtils]: 45: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3685#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:52:04,754 INFO L290 TraceCheckUtils]: 44: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,755 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3502#true} {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,755 INFO L272 TraceCheckUtils]: 39: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,756 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3502#true} {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,756 INFO L272 TraceCheckUtils]: 34: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,757 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3502#true} {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,757 INFO L272 TraceCheckUtils]: 29: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,758 INFO L290 TraceCheckUtils]: 28: Hoare triple {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !false; {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {3502#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3707#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:52:04,758 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3502#true} {3502#true} #72#return; {3502#true} is VALID [2022-04-27 12:52:04,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,758 INFO L290 TraceCheckUtils]: 24: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,758 INFO L290 TraceCheckUtils]: 23: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L272 TraceCheckUtils]: 22: Hoare triple {3502#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3502#true} {3502#true} #70#return; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 19: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L272 TraceCheckUtils]: 17: Hoare triple {3502#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3502#true} {3502#true} #68#return; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L272 TraceCheckUtils]: 12: Hoare triple {3502#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {3502#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3502#true} is VALID [2022-04-27 12:52:04,759 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3502#true} {3502#true} #66#return; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {3502#true} assume !(0 == ~cond); {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {3502#true} ~cond := #in~cond; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L272 TraceCheckUtils]: 6: Hoare triple {3502#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {3502#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {3502#true} call #t~ret6 := main(); {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3502#true} {3502#true} #88#return; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {3502#true} assume true; {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {3502#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(10, 2);call #Ultimate.allocInit(12, 3); {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {3502#true} call ULTIMATE.init(); {3502#true} is VALID [2022-04-27 12:52:04,760 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-27 12:52:04,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:52:04,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [696307954] [2022-04-27 12:52:04,761 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:52:04,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [476857128] [2022-04-27 12:52:04,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [476857128] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:52:04,761 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:52:04,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-27 12:52:04,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928089263] [2022-04-27 12:52:04,761 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:52:04,762 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 56 [2022-04-27 12:52:04,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:52:04,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 12:52:04,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:04,835 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:52:04,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:52:04,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:52:04,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:52:04,836 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 12:52:07,425 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:52:09,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:09,870 INFO L93 Difference]: Finished difference Result 152 states and 210 transitions. [2022-04-27 12:52:09,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 12:52:09,871 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 56 [2022-04-27 12:52:09,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:52:09,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 12:52:09,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 111 transitions. [2022-04-27 12:52:09,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 12:52:09,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 111 transitions. [2022-04-27 12:52:09,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 111 transitions. [2022-04-27 12:52:10,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:10,472 INFO L225 Difference]: With dead ends: 152 [2022-04-27 12:52:10,472 INFO L226 Difference]: Without dead ends: 145 [2022-04-27 12:52:10,473 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:52:10,473 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 15 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 164 mSolverCounterSat, 39 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 164 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-27 12:52:10,473 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 186 Invalid, 204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 164 Invalid, 1 Unknown, 0 Unchecked, 2.4s Time] [2022-04-27 12:52:10,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2022-04-27 12:52:10,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 138. [2022-04-27 12:52:10,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:52:10,503 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:52:10,506 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:52:10,507 INFO L87 Difference]: Start difference. First operand 145 states. Second operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:52:10,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:10,511 INFO L93 Difference]: Finished difference Result 145 states and 197 transitions. [2022-04-27 12:52:10,511 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 197 transitions. [2022-04-27 12:52:10,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:10,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:10,514 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 145 states. [2022-04-27 12:52:10,514 INFO L87 Difference]: Start difference. First operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 145 states. [2022-04-27 12:52:10,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:10,519 INFO L93 Difference]: Finished difference Result 145 states and 197 transitions. [2022-04-27 12:52:10,519 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 197 transitions. [2022-04-27 12:52:10,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:10,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:10,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:52:10,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:52:10,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 75 states have (on average 1.2) internal successors, (90), 80 states have internal predecessors, (90), 49 states have call successors, (49), 14 states have call predecessors, (49), 13 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:52:10,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 185 transitions. [2022-04-27 12:52:10,524 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 185 transitions. Word has length 56 [2022-04-27 12:52:10,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:52:10,525 INFO L495 AbstractCegarLoop]: Abstraction has 138 states and 185 transitions. [2022-04-27 12:52:10,525 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 12:52:10,525 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 185 transitions. [2022-04-27 12:52:10,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 12:52:10,526 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:52:10,526 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:52:10,545 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 12:52:10,739 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:10,740 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:52:10,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:52:10,740 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-27 12:52:10,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:52:10,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1262666249] [2022-04-27 12:52:10,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:52:10,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:52:10,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:52:10,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [530424685] [2022-04-27 12:52:10,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:52:10,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:10,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:52:10,767 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-27 12:52:10,768 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-27 12:52:10,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:52:10,809 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 12:52:10,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:52:10,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:52:11,147 INFO L272 TraceCheckUtils]: 0: Hoare triple {4595#true} call ULTIMATE.init(); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {4595#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(10, 2);call #Ultimate.allocInit(12, 3); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4595#true} {4595#true} #88#return; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {4595#true} call #t~ret6 := main(); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {4595#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L272 TraceCheckUtils]: 6: Hoare triple {4595#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4595#true} {4595#true} #66#return; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {4595#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L272 TraceCheckUtils]: 12: Hoare triple {4595#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4595#true} {4595#true} #68#return; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L272 TraceCheckUtils]: 17: Hoare triple {4595#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4595#true} {4595#true} #70#return; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L272 TraceCheckUtils]: 22: Hoare triple {4595#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,149 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4595#true} {4595#true} #72#return; {4595#true} is VALID [2022-04-27 12:52:11,150 INFO L290 TraceCheckUtils]: 27: Hoare triple {4595#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,150 INFO L272 TraceCheckUtils]: 29: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,151 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4595#true} {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,151 INFO L272 TraceCheckUtils]: 34: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,152 INFO L290 TraceCheckUtils]: 37: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,152 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4595#true} {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,152 INFO L272 TraceCheckUtils]: 39: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,153 INFO L290 TraceCheckUtils]: 41: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,153 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4595#true} {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:11,154 INFO L290 TraceCheckUtils]: 45: Hoare triple {4681#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,155 INFO L272 TraceCheckUtils]: 47: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,155 INFO L290 TraceCheckUtils]: 48: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,155 INFO L290 TraceCheckUtils]: 50: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,156 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4595#true} {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,156 INFO L272 TraceCheckUtils]: 52: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,156 INFO L290 TraceCheckUtils]: 53: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,156 INFO L290 TraceCheckUtils]: 54: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,156 INFO L290 TraceCheckUtils]: 55: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,157 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4595#true} {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,157 INFO L272 TraceCheckUtils]: 57: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,157 INFO L290 TraceCheckUtils]: 58: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,157 INFO L290 TraceCheckUtils]: 59: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,157 INFO L290 TraceCheckUtils]: 60: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,158 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4595#true} {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,158 INFO L290 TraceCheckUtils]: 62: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:52:11,159 INFO L290 TraceCheckUtils]: 63: Hoare triple {4736#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4791#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 12:52:11,159 INFO L290 TraceCheckUtils]: 64: Hoare triple {4791#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {4791#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 12:52:11,160 INFO L272 TraceCheckUtils]: 65: Hoare triple {4791#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:52:11,160 INFO L290 TraceCheckUtils]: 66: Hoare triple {4798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:11,160 INFO L290 TraceCheckUtils]: 67: Hoare triple {4802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4596#false} is VALID [2022-04-27 12:52:11,160 INFO L290 TraceCheckUtils]: 68: Hoare triple {4596#false} assume !false; {4596#false} is VALID [2022-04-27 12:52:11,161 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 12:52:11,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:52:11,406 INFO L290 TraceCheckUtils]: 68: Hoare triple {4596#false} assume !false; {4596#false} is VALID [2022-04-27 12:52:11,406 INFO L290 TraceCheckUtils]: 67: Hoare triple {4802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4596#false} is VALID [2022-04-27 12:52:11,407 INFO L290 TraceCheckUtils]: 66: Hoare triple {4798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:11,407 INFO L272 TraceCheckUtils]: 65: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:52:11,408 INFO L290 TraceCheckUtils]: 64: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,410 INFO L290 TraceCheckUtils]: 63: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,411 INFO L290 TraceCheckUtils]: 62: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,411 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,411 INFO L290 TraceCheckUtils]: 60: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,411 INFO L290 TraceCheckUtils]: 59: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,411 INFO L290 TraceCheckUtils]: 58: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,411 INFO L272 TraceCheckUtils]: 57: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,412 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,412 INFO L290 TraceCheckUtils]: 55: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,413 INFO L290 TraceCheckUtils]: 54: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,413 INFO L290 TraceCheckUtils]: 53: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,413 INFO L272 TraceCheckUtils]: 52: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,414 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,414 INFO L290 TraceCheckUtils]: 50: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,414 INFO L290 TraceCheckUtils]: 49: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,414 INFO L290 TraceCheckUtils]: 48: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,414 INFO L272 TraceCheckUtils]: 47: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,415 INFO L290 TraceCheckUtils]: 46: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,418 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,418 INFO L290 TraceCheckUtils]: 42: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,419 INFO L272 TraceCheckUtils]: 39: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,419 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,419 INFO L290 TraceCheckUtils]: 36: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,420 INFO L272 TraceCheckUtils]: 34: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,422 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4595#true} {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,422 INFO L272 TraceCheckUtils]: 29: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {4595#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4818#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:52:11,423 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4595#true} {4595#true} #72#return; {4595#true} is VALID [2022-04-27 12:52:11,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L272 TraceCheckUtils]: 22: Hoare triple {4595#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4595#true} {4595#true} #70#return; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L272 TraceCheckUtils]: 17: Hoare triple {4595#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4595#true} {4595#true} #68#return; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L272 TraceCheckUtils]: 12: Hoare triple {4595#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 11: Hoare triple {4595#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4595#true} {4595#true} #66#return; {4595#true} is VALID [2022-04-27 12:52:11,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {4595#true} assume !(0 == ~cond); {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {4595#true} ~cond := #in~cond; {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L272 TraceCheckUtils]: 6: Hoare triple {4595#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {4595#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {4595#true} call #t~ret6 := main(); {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4595#true} {4595#true} #88#return; {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {4595#true} assume true; {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {4595#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(10, 2);call #Ultimate.allocInit(12, 3); {4595#true} is VALID [2022-04-27 12:52:11,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {4595#true} call ULTIMATE.init(); {4595#true} is VALID [2022-04-27 12:52:11,426 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-27 12:52:11,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:52:11,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1262666249] [2022-04-27 12:52:11,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:52:11,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530424685] [2022-04-27 12:52:11,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530424685] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:52:11,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:52:11,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-27 12:52:11,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1102906981] [2022-04-27 12:52:11,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:52:11,430 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-27 12:52:11,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:52:11,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:52:11,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:11,458 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:52:11,458 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:52:11,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:52:11,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:52:11,459 INFO L87 Difference]: Start difference. First operand 138 states and 185 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:52:11,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:11,619 INFO L93 Difference]: Finished difference Result 144 states and 190 transitions. [2022-04-27 12:52:11,619 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:52:11,620 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-27 12:52:11,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:52:11,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:52:11,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 12:52:11,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:52:11,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-27 12:52:11,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-27 12:52:11,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:11,661 INFO L225 Difference]: With dead ends: 144 [2022-04-27 12:52:11,661 INFO L226 Difference]: Without dead ends: 139 [2022-04-27 12:52:11,661 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:52:11,662 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:52:11,662 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:52:11,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2022-04-27 12:52:11,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 139. [2022-04-27 12:52:11,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:52:11,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:11,678 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:11,678 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:11,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:11,682 INFO L93 Difference]: Finished difference Result 139 states and 181 transitions. [2022-04-27 12:52:11,682 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 181 transitions. [2022-04-27 12:52:11,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:11,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:11,683 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 139 states. [2022-04-27 12:52:11,683 INFO L87 Difference]: Start difference. First operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 139 states. [2022-04-27 12:52:11,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:11,686 INFO L93 Difference]: Finished difference Result 139 states and 181 transitions. [2022-04-27 12:52:11,686 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 181 transitions. [2022-04-27 12:52:11,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:11,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:11,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:52:11,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:52:11,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 82 states have internal predecessors, (91), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:11,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 181 transitions. [2022-04-27 12:52:11,691 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 181 transitions. Word has length 69 [2022-04-27 12:52:11,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:52:11,691 INFO L495 AbstractCegarLoop]: Abstraction has 139 states and 181 transitions. [2022-04-27 12:52:11,691 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 12:52:11,691 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 181 transitions. [2022-04-27 12:52:11,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-27 12:52:11,692 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:52:11,692 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:52:11,712 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-27 12:52:11,912 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 12:52:11,914 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:52:11,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:52:11,915 INFO L85 PathProgramCache]: Analyzing trace with hash -1207056020, now seen corresponding path program 2 times [2022-04-27 12:52:11,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:52:11,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2140748985] [2022-04-27 12:52:11,915 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:52:11,915 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:52:11,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:52:11,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [825916300] [2022-04-27 12:52:11,936 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:52:11,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:11,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:52:11,943 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-27 12:52:11,943 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-27 12:52:11,984 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:52:11,984 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:52:11,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 12:52:11,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:52:11,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:52:12,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {5730#true} call ULTIMATE.init(); {5730#true} is VALID [2022-04-27 12:52:12,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {5730#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(10, 2);call #Ultimate.allocInit(12, 3); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5730#true} {5730#true} #88#return; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {5730#true} call #t~ret6 := main(); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {5730#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {5730#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5730#true} {5730#true} #66#return; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {5730#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L272 TraceCheckUtils]: 12: Hoare triple {5730#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5730#true} {5730#true} #68#return; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L272 TraceCheckUtils]: 17: Hoare triple {5730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5730#true} {5730#true} #70#return; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L272 TraceCheckUtils]: 22: Hoare triple {5730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 23: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 24: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 25: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5730#true} {5730#true} #72#return; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {5730#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L290 TraceCheckUtils]: 28: Hoare triple {5730#true} assume !false; {5730#true} is VALID [2022-04-27 12:52:12,177 INFO L272 TraceCheckUtils]: 29: Hoare triple {5730#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 32: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5730#true} {5730#true} #74#return; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L272 TraceCheckUtils]: 34: Hoare triple {5730#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 35: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 36: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 37: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5730#true} {5730#true} #76#return; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L272 TraceCheckUtils]: 39: Hoare triple {5730#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 40: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 41: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L290 TraceCheckUtils]: 42: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,178 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5730#true} {5730#true} #78#return; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 44: Hoare triple {5730#true} assume !!(~a~0 != ~b~0); {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 45: Hoare triple {5730#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 46: Hoare triple {5730#true} assume !false; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L272 TraceCheckUtils]: 47: Hoare triple {5730#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 48: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 50: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5730#true} {5730#true} #74#return; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L272 TraceCheckUtils]: 52: Hoare triple {5730#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 53: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 54: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L290 TraceCheckUtils]: 55: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5730#true} {5730#true} #76#return; {5730#true} is VALID [2022-04-27 12:52:12,179 INFO L272 TraceCheckUtils]: 57: Hoare triple {5730#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,180 INFO L290 TraceCheckUtils]: 58: Hoare triple {5730#true} ~cond := #in~cond; {5909#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:12,180 INFO L290 TraceCheckUtils]: 59: Hoare triple {5909#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:12,180 INFO L290 TraceCheckUtils]: 60: Hoare triple {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:12,181 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} {5730#true} #78#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,184 INFO L290 TraceCheckUtils]: 62: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,184 INFO L290 TraceCheckUtils]: 63: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,185 INFO L272 TraceCheckUtils]: 65: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,185 INFO L290 TraceCheckUtils]: 66: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,185 INFO L290 TraceCheckUtils]: 67: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,185 INFO L290 TraceCheckUtils]: 68: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,186 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5730#true} {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,186 INFO L272 TraceCheckUtils]: 70: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:12,186 INFO L290 TraceCheckUtils]: 71: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:12,186 INFO L290 TraceCheckUtils]: 72: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:12,186 INFO L290 TraceCheckUtils]: 73: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:12,187 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {5730#true} {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:12,187 INFO L272 TraceCheckUtils]: 75: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5963#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2022-04-27 12:52:12,188 INFO L290 TraceCheckUtils]: 76: Hoare triple {5963#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5967#(= __VERIFIER_assert_~cond 1)} is VALID [2022-04-27 12:52:12,188 INFO L290 TraceCheckUtils]: 77: Hoare triple {5967#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {5731#false} is VALID [2022-04-27 12:52:12,188 INFO L290 TraceCheckUtils]: 78: Hoare triple {5731#false} assume !false; {5731#false} is VALID [2022-04-27 12:52:12,188 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 7 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2022-04-27 12:52:12,189 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:52:26,921 INFO L290 TraceCheckUtils]: 78: Hoare triple {5731#false} assume !false; {5731#false} is VALID [2022-04-27 12:52:26,922 INFO L290 TraceCheckUtils]: 77: Hoare triple {5977#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5731#false} is VALID [2022-04-27 12:52:26,922 INFO L290 TraceCheckUtils]: 76: Hoare triple {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5977#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:52:26,923 INFO L272 TraceCheckUtils]: 75: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:26,923 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {5730#true} {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,923 INFO L290 TraceCheckUtils]: 73: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,923 INFO L290 TraceCheckUtils]: 72: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,924 INFO L290 TraceCheckUtils]: 71: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,924 INFO L272 TraceCheckUtils]: 70: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,924 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {5730#true} {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,924 INFO L290 TraceCheckUtils]: 68: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,924 INFO L290 TraceCheckUtils]: 67: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,924 INFO L290 TraceCheckUtils]: 66: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,925 INFO L272 TraceCheckUtils]: 65: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,925 INFO L290 TraceCheckUtils]: 64: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,925 INFO L290 TraceCheckUtils]: 63: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,926 INFO L290 TraceCheckUtils]: 62: Hoare triple {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,926 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} {5730#true} #78#return; {5920#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:52:26,926 INFO L290 TraceCheckUtils]: 60: Hoare triple {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:26,927 INFO L290 TraceCheckUtils]: 59: Hoare triple {6035#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:26,927 INFO L290 TraceCheckUtils]: 58: Hoare triple {5730#true} ~cond := #in~cond; {6035#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:52:26,927 INFO L272 TraceCheckUtils]: 57: Hoare triple {5730#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,927 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5730#true} {5730#true} #76#return; {5730#true} is VALID [2022-04-27 12:52:26,927 INFO L290 TraceCheckUtils]: 55: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,927 INFO L290 TraceCheckUtils]: 54: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,927 INFO L290 TraceCheckUtils]: 53: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,928 INFO L272 TraceCheckUtils]: 52: Hoare triple {5730#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,928 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5730#true} {5730#true} #74#return; {5730#true} is VALID [2022-04-27 12:52:26,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,938 INFO L290 TraceCheckUtils]: 49: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,938 INFO L290 TraceCheckUtils]: 48: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,938 INFO L272 TraceCheckUtils]: 47: Hoare triple {5730#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,938 INFO L290 TraceCheckUtils]: 46: Hoare triple {5730#true} assume !false; {5730#true} is VALID [2022-04-27 12:52:26,938 INFO L290 TraceCheckUtils]: 45: Hoare triple {5730#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 44: Hoare triple {5730#true} assume !!(~a~0 != ~b~0); {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5730#true} {5730#true} #78#return; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 41: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L272 TraceCheckUtils]: 39: Hoare triple {5730#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5730#true} {5730#true} #76#return; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 35: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L272 TraceCheckUtils]: 34: Hoare triple {5730#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5730#true} {5730#true} #74#return; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L272 TraceCheckUtils]: 29: Hoare triple {5730#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {5730#true} assume !false; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {5730#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5730#true} {5730#true} #72#return; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 23: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L272 TraceCheckUtils]: 22: Hoare triple {5730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5730#true} {5730#true} #70#return; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 19: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,940 INFO L272 TraceCheckUtils]: 17: Hoare triple {5730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5730#true} {5730#true} #68#return; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L272 TraceCheckUtils]: 12: Hoare triple {5730#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {5730#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5730#true} {5730#true} #66#return; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {5730#true} assume !(0 == ~cond); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {5730#true} ~cond := #in~cond; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L272 TraceCheckUtils]: 6: Hoare triple {5730#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {5730#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {5730#true} call #t~ret6 := main(); {5730#true} is VALID [2022-04-27 12:52:26,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5730#true} {5730#true} #88#return; {5730#true} is VALID [2022-04-27 12:52:26,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {5730#true} assume true; {5730#true} is VALID [2022-04-27 12:52:26,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {5730#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(10, 2);call #Ultimate.allocInit(12, 3); {5730#true} is VALID [2022-04-27 12:52:26,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {5730#true} call ULTIMATE.init(); {5730#true} is VALID [2022-04-27 12:52:26,942 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 7 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2022-04-27 12:52:26,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:52:26,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2140748985] [2022-04-27 12:52:26,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:52:26,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [825916300] [2022-04-27 12:52:26,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [825916300] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:52:26,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:52:26,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 9 [2022-04-27 12:52:26,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1366970496] [2022-04-27 12:52:26,943 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:52:26,943 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 79 [2022-04-27 12:52:26,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:52:26,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-27 12:52:26,988 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-27 12:52:26,988 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 12:52:26,988 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:52:26,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 12:52:26,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:52:26,989 INFO L87 Difference]: Start difference. First operand 139 states and 181 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-27 12:52:27,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:27,341 INFO L93 Difference]: Finished difference Result 152 states and 195 transitions. [2022-04-27 12:52:27,341 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 12:52:27,342 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 79 [2022-04-27 12:52:27,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:52:27,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-27 12:52:27,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-27 12:52:27,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-27 12:52:27,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-27 12:52:27,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 54 transitions. [2022-04-27 12:52:27,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:52:27,395 INFO L225 Difference]: With dead ends: 152 [2022-04-27 12:52:27,395 INFO L226 Difference]: Without dead ends: 142 [2022-04-27 12:52:27,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 150 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:52:27,396 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 16 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:52:27,397 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 133 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:52:27,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-04-27 12:52:27,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 142. [2022-04-27 12:52:27,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:52:27,426 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:27,426 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:27,426 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:27,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:27,430 INFO L93 Difference]: Finished difference Result 142 states and 181 transitions. [2022-04-27 12:52:27,430 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 181 transitions. [2022-04-27 12:52:27,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:27,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:27,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 142 states. [2022-04-27 12:52:27,431 INFO L87 Difference]: Start difference. First operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 142 states. [2022-04-27 12:52:27,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:52:27,434 INFO L93 Difference]: Finished difference Result 142 states and 181 transitions. [2022-04-27 12:52:27,434 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 181 transitions. [2022-04-27 12:52:27,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:52:27,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:52:27,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:52:27,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:52:27,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 81 states have (on average 1.1358024691358024) internal successors, (92), 84 states have internal predecessors, (92), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 12:52:27,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 181 transitions. [2022-04-27 12:52:27,438 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 181 transitions. Word has length 79 [2022-04-27 12:52:27,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:52:27,438 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 181 transitions. [2022-04-27 12:52:27,438 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 2 states have call successors, (13), 3 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-27 12:52:27,438 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 181 transitions. [2022-04-27 12:52:27,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-27 12:52:27,439 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:52:27,439 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:52:27,461 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-27 12:52:27,656 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 12:52:27,656 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:52:27,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:52:27,656 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 3 times [2022-04-27 12:52:27,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:52:27,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045957020] [2022-04-27 12:52:27,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:52:27,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:52:27,667 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:52:27,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1546614424] [2022-04-27 12:52:27,667 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:52:27,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:52:27,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:52:27,669 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-27 12:52:27,672 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 12:52:27,731 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 12:52:27,731 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:52:27,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 12:52:27,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:52:27,834 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:52:28,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {6947#true} call ULTIMATE.init(); {6947#true} is VALID [2022-04-27 12:52:28,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {6947#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(10, 2);call #Ultimate.allocInit(12, 3); {6947#true} is VALID [2022-04-27 12:52:28,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6947#true} {6947#true} #88#return; {6947#true} is VALID [2022-04-27 12:52:28,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {6947#true} call #t~ret6 := main(); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {6947#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {6947#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6947#true} {6947#true} #66#return; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {6947#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L272 TraceCheckUtils]: 12: Hoare triple {6947#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6947#true} {6947#true} #68#return; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L272 TraceCheckUtils]: 17: Hoare triple {6947#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6947#true} {6947#true} #70#return; {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L272 TraceCheckUtils]: 22: Hoare triple {6947#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6947#true} {6947#true} #72#return; {6947#true} is VALID [2022-04-27 12:52:28,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {6947#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,512 INFO L272 TraceCheckUtils]: 29: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,513 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,513 INFO L272 TraceCheckUtils]: 34: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,514 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,514 INFO L272 TraceCheckUtils]: 39: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,514 INFO L290 TraceCheckUtils]: 41: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,514 INFO L290 TraceCheckUtils]: 42: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,514 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,515 INFO L290 TraceCheckUtils]: 44: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,515 INFO L290 TraceCheckUtils]: 45: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,516 INFO L272 TraceCheckUtils]: 47: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 48: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 50: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,516 INFO L272 TraceCheckUtils]: 52: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 53: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,516 INFO L290 TraceCheckUtils]: 54: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,517 INFO L290 TraceCheckUtils]: 55: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,517 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,517 INFO L272 TraceCheckUtils]: 57: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,517 INFO L290 TraceCheckUtils]: 58: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,517 INFO L290 TraceCheckUtils]: 59: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,517 INFO L290 TraceCheckUtils]: 60: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,518 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6947#true} {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,518 INFO L290 TraceCheckUtils]: 62: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:52:28,518 INFO L290 TraceCheckUtils]: 63: Hoare triple {7033#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:28,519 INFO L290 TraceCheckUtils]: 64: Hoare triple {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !false; {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:28,519 INFO L272 TraceCheckUtils]: 65: Hoare triple {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,519 INFO L290 TraceCheckUtils]: 67: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,519 INFO L290 TraceCheckUtils]: 68: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,520 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {6947#true} {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #74#return; {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:28,520 INFO L272 TraceCheckUtils]: 70: Hoare triple {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,520 INFO L290 TraceCheckUtils]: 71: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:28,520 INFO L290 TraceCheckUtils]: 72: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:28,520 INFO L290 TraceCheckUtils]: 73: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:28,520 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {6947#true} {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #76#return; {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:28,520 INFO L272 TraceCheckUtils]: 75: Hoare triple {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:28,521 INFO L290 TraceCheckUtils]: 76: Hoare triple {6947#true} ~cond := #in~cond; {7182#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:28,521 INFO L290 TraceCheckUtils]: 77: Hoare triple {7182#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:28,521 INFO L290 TraceCheckUtils]: 78: Hoare triple {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:52:28,522 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} {7142#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #78#return; {7193#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:28,522 INFO L290 TraceCheckUtils]: 80: Hoare triple {7193#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(~a~0 != ~b~0); {7193#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-27 12:52:30,524 WARN L290 TraceCheckUtils]: 81: Hoare triple {7193#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} is UNKNOWN [2022-04-27 12:52:30,525 INFO L290 TraceCheckUtils]: 82: Hoare triple {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} assume !false; {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} is VALID [2022-04-27 12:52:30,525 INFO L272 TraceCheckUtils]: 83: Hoare triple {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:52:30,525 INFO L290 TraceCheckUtils]: 84: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:52:30,525 INFO L290 TraceCheckUtils]: 85: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:52:30,525 INFO L290 TraceCheckUtils]: 86: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:52:30,526 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {6947#true} {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} #74#return; {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} is VALID [2022-04-27 12:52:32,529 WARN L272 TraceCheckUtils]: 88: Hoare triple {7200#(and (= main_~a~0 (+ (* (- 2) (* (div (+ (* (- 1) main_~p~0) 1) 2) main_~x~0)) (* (- 2) (* main_~y~0 (div main_~r~0 (- 2)))) main_~x~0)) (= (mod main_~r~0 2) 0) (= (mod (+ main_~p~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7222#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-27 12:52:32,530 INFO L290 TraceCheckUtils]: 89: Hoare triple {7222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:52:32,530 INFO L290 TraceCheckUtils]: 90: Hoare triple {7226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6948#false} is VALID [2022-04-27 12:52:32,530 INFO L290 TraceCheckUtils]: 91: Hoare triple {6948#false} assume !false; {6948#false} is VALID [2022-04-27 12:52:32,530 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 43 proven. 25 refuted. 0 times theorem prover too weak. 183 trivial. 0 not checked. [2022-04-27 12:52:32,530 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:53:13,148 INFO L290 TraceCheckUtils]: 91: Hoare triple {6948#false} assume !false; {6948#false} is VALID [2022-04-27 12:53:13,148 INFO L290 TraceCheckUtils]: 90: Hoare triple {7226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6948#false} is VALID [2022-04-27 12:53:13,149 INFO L290 TraceCheckUtils]: 89: Hoare triple {7222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:53:13,149 INFO L272 TraceCheckUtils]: 88: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:53:13,150 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,150 INFO L290 TraceCheckUtils]: 86: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,150 INFO L290 TraceCheckUtils]: 85: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,150 INFO L290 TraceCheckUtils]: 84: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,150 INFO L272 TraceCheckUtils]: 83: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,151 INFO L290 TraceCheckUtils]: 82: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,296 INFO L290 TraceCheckUtils]: 81: Hoare triple {7264#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,297 INFO L290 TraceCheckUtils]: 80: Hoare triple {7264#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {7264#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:53:13,298 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {7264#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-27 12:53:13,298 INFO L290 TraceCheckUtils]: 78: Hoare triple {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:53:13,298 INFO L290 TraceCheckUtils]: 77: Hoare triple {7281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7186#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:53:13,298 INFO L290 TraceCheckUtils]: 76: Hoare triple {6947#true} ~cond := #in~cond; {7281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:53:13,299 INFO L272 TraceCheckUtils]: 75: Hoare triple {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,299 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {6947#true} {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 12:53:13,299 INFO L290 TraceCheckUtils]: 73: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,299 INFO L290 TraceCheckUtils]: 72: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,299 INFO L290 TraceCheckUtils]: 71: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,299 INFO L272 TraceCheckUtils]: 70: Hoare triple {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,300 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {6947#true} {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 12:53:13,300 INFO L290 TraceCheckUtils]: 68: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,300 INFO L290 TraceCheckUtils]: 67: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,300 INFO L290 TraceCheckUtils]: 66: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,300 INFO L272 TraceCheckUtils]: 65: Hoare triple {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,301 INFO L290 TraceCheckUtils]: 64: Hoare triple {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 12:53:13,352 INFO L290 TraceCheckUtils]: 63: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7271#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 12:53:13,353 INFO L290 TraceCheckUtils]: 62: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~a~0 != ~b~0); {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,354 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,354 INFO L290 TraceCheckUtils]: 60: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,354 INFO L290 TraceCheckUtils]: 59: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,354 INFO L290 TraceCheckUtils]: 58: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,354 INFO L272 TraceCheckUtils]: 57: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,354 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #76#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,355 INFO L290 TraceCheckUtils]: 55: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,355 INFO L290 TraceCheckUtils]: 54: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,355 INFO L290 TraceCheckUtils]: 53: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,355 INFO L272 TraceCheckUtils]: 52: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,355 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,356 INFO L290 TraceCheckUtils]: 50: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,356 INFO L290 TraceCheckUtils]: 49: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,356 INFO L290 TraceCheckUtils]: 48: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,356 INFO L272 TraceCheckUtils]: 47: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,356 INFO L290 TraceCheckUtils]: 46: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,356 INFO L290 TraceCheckUtils]: 45: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,357 INFO L290 TraceCheckUtils]: 44: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~a~0 != ~b~0); {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,357 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,357 INFO L290 TraceCheckUtils]: 42: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L290 TraceCheckUtils]: 41: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L290 TraceCheckUtils]: 40: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L272 TraceCheckUtils]: 39: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #76#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,358 INFO L290 TraceCheckUtils]: 37: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L290 TraceCheckUtils]: 36: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L290 TraceCheckUtils]: 35: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,358 INFO L272 TraceCheckUtils]: 34: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,359 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6947#true} {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,359 INFO L290 TraceCheckUtils]: 32: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,359 INFO L290 TraceCheckUtils]: 31: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,359 INFO L290 TraceCheckUtils]: 30: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,359 INFO L272 TraceCheckUtils]: 29: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {6947#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7242#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:53:13,360 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6947#true} {6947#true} #72#return; {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 25: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 24: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L272 TraceCheckUtils]: 22: Hoare triple {6947#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6947#true} {6947#true} #70#return; {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 19: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L272 TraceCheckUtils]: 17: Hoare triple {6947#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6947#true} {6947#true} #68#return; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 15: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L272 TraceCheckUtils]: 12: Hoare triple {6947#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {6947#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6947#true} {6947#true} #66#return; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {6947#true} assume !(0 == ~cond); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 7: Hoare triple {6947#true} ~cond := #in~cond; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L272 TraceCheckUtils]: 6: Hoare triple {6947#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L290 TraceCheckUtils]: 5: Hoare triple {6947#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L272 TraceCheckUtils]: 4: Hoare triple {6947#true} call #t~ret6 := main(); {6947#true} is VALID [2022-04-27 12:53:13,361 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6947#true} {6947#true} #88#return; {6947#true} is VALID [2022-04-27 12:53:13,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {6947#true} assume true; {6947#true} is VALID [2022-04-27 12:53:13,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {6947#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(10, 2);call #Ultimate.allocInit(12, 3); {6947#true} is VALID [2022-04-27 12:53:13,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {6947#true} call ULTIMATE.init(); {6947#true} is VALID [2022-04-27 12:53:13,362 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 46 proven. 16 refuted. 0 times theorem prover too weak. 189 trivial. 0 not checked. [2022-04-27 12:53:13,362 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:53:13,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045957020] [2022-04-27 12:53:13,362 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:53:13,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1546614424] [2022-04-27 12:53:13,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1546614424] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:53:13,362 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:53:13,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-27 12:53:13,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347187824] [2022-04-27 12:53:13,363 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:53:13,363 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) Word has length 92 [2022-04-27 12:53:13,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:53:13,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 12:53:17,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 72 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 12:53:17,582 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 12:53:17,582 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:53:17,582 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 12:53:17,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=141, Unknown=2, NotChecked=0, Total=182 [2022-04-27 12:53:17,583 INFO L87 Difference]: Start difference. First operand 142 states and 181 transitions. Second operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 12:53:26,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:53:26,697 INFO L93 Difference]: Finished difference Result 164 states and 218 transitions. [2022-04-27 12:53:26,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 12:53:26,698 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) Word has length 92 [2022-04-27 12:53:26,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:53:26,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 12:53:26,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-27 12:53:26,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 12:53:26,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-27 12:53:26,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 67 transitions. [2022-04-27 12:53:29,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 66 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 12:53:29,207 INFO L225 Difference]: With dead ends: 164 [2022-04-27 12:53:29,208 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 12:53:29,208 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 169 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 10.9s TimeCoverageRelationStatistics Valid=74, Invalid=266, Unknown=2, NotChecked=0, Total=342 [2022-04-27 12:53:29,209 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 20 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:53:29,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 127 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 12:53:29,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 12:53:29,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 12:53:29,209 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:53:29,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:53:29,210 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:53:29,210 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:53:29,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:53:29,210 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 12:53:29,210 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:53:29,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:53:29,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:53:29,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 12:53:29,210 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 12:53:29,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:53:29,210 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 12:53:29,210 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:53:29,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:53:29,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:53:29,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:53:29,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:53:29,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:53:29,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 12:53:29,211 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 92 [2022-04-27 12:53:29,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:53:29,211 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 12:53:29,211 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 8 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 12:53:29,211 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:53:29,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:53:29,213 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 12:53:29,230 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 12:53:29,414 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 12:53:29,416 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 12:53:35,320 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point L8(line 8) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point L8-2(lines 7 9) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 7 9) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L895 garLoopResultBuilder]: At program point L35-2(lines 35 52) the Hoare annotation is: (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~b~0 .cse0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 .cse0) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1)))) [2022-04-27 12:53:35,321 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-27 12:53:35,321 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 18 59) no Hoare annotation was computed. [2022-04-27 12:53:35,321 INFO L895 garLoopResultBuilder]: At program point L56(line 56) the Hoare annotation is: (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) [2022-04-27 12:53:35,322 INFO L895 garLoopResultBuilder]: At program point L54(line 54) the Hoare annotation is: (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~b~0 .cse0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 .cse0) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1)))) [2022-04-27 12:53:35,322 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 18 59) no Hoare annotation was computed. [2022-04-27 12:53:35,323 INFO L899 garLoopResultBuilder]: For program point L38(lines 35 52) no Hoare annotation was computed. [2022-04-27 12:53:35,323 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) [2022-04-27 12:53:35,323 INFO L895 garLoopResultBuilder]: At program point L36-1(line 36) the Hoare annotation is: (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) [2022-04-27 12:53:35,323 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 59) the Hoare annotation is: true [2022-04-27 12:53:35,323 INFO L899 garLoopResultBuilder]: For program point L26(line 26) no Hoare annotation was computed. [2022-04-27 12:53:35,323 INFO L899 garLoopResultBuilder]: For program point L57(line 57) no Hoare annotation was computed. [2022-04-27 12:53:35,323 INFO L902 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: true [2022-04-27 12:53:35,323 INFO L902 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: true [2022-04-27 12:53:35,323 INFO L895 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) .cse0 .cse1 (= main_~q~0 0) .cse2) (let ((.cse3 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~b~0 .cse3) .cse0 (= main_~a~0 .cse3) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1)))) (and (= main_~r~0 0) .cse0 .cse1 (= main_~a~0 main_~x~0) .cse2))) [2022-04-27 12:53:35,324 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-27 12:53:35,324 INFO L899 garLoopResultBuilder]: For program point L22-1(line 22) no Hoare annotation was computed. [2022-04-27 12:53:35,324 INFO L899 garLoopResultBuilder]: For program point L43(lines 43 51) no Hoare annotation was computed. [2022-04-27 12:53:35,324 INFO L895 garLoopResultBuilder]: At program point L43-2(lines 35 52) the Hoare annotation is: (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) [2022-04-27 12:53:35,325 INFO L895 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) [2022-04-27 12:53:35,325 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 12:53:35,329 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 12:53:35,329 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 12:53:35,329 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 12:53:35,329 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 12:53:35,329 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 12:53:35,330 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point L12(lines 12 13) no Hoare annotation was computed. [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point L11(lines 11 14) no Hoare annotation was computed. [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 10 16) no Hoare annotation was computed. [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point L11-2(lines 10 16) no Hoare annotation was computed. [2022-04-27 12:53:35,330 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) no Hoare annotation was computed. [2022-04-27 12:53:35,332 INFO L356 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1, 1, 1] [2022-04-27 12:53:35,333 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 12:53:35,336 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 12:53:35,336 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:53:35,343 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,344 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2022-04-27 12:53:35,345 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2022-04-27 12:53:35,346 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 12:53:35,346 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 12:53:35,346 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 12:53:35,346 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 12:53:35,346 INFO L163 areAnnotationChecker]: CFG has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 12:53:35,353 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 12:53:35 BoogieIcfgContainer [2022-04-27 12:53:35,353 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 12:53:35,354 INFO L158 Benchmark]: Toolchain (without parser) took 122798.23ms. Allocated memory was 178.3MB in the beginning and 215.0MB in the end (delta: 36.7MB). Free memory was 128.1MB in the beginning and 180.3MB in the end (delta: -52.2MB). Peak memory consumption was 95.5MB. Max. memory is 8.0GB. [2022-04-27 12:53:35,354 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 178.3MB. Free memory was 144.3MB in the beginning and 144.1MB in the end (delta: 151.9kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 12:53:35,354 INFO L158 Benchmark]: CACSL2BoogieTranslator took 236.64ms. Allocated memory is still 178.3MB. Free memory was 127.8MB in the beginning and 153.4MB in the end (delta: -25.6MB). Peak memory consumption was 11.3MB. Max. memory is 8.0GB. [2022-04-27 12:53:35,354 INFO L158 Benchmark]: Boogie Preprocessor took 37.48ms. Allocated memory is still 178.3MB. Free memory was 153.4MB in the beginning and 151.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 12:53:35,354 INFO L158 Benchmark]: RCFGBuilder took 289.96ms. Allocated memory is still 178.3MB. Free memory was 151.8MB in the beginning and 139.8MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 12:53:35,354 INFO L158 Benchmark]: TraceAbstraction took 122221.14ms. Allocated memory was 178.3MB in the beginning and 215.0MB in the end (delta: 36.7MB). Free memory was 139.3MB in the beginning and 180.3MB in the end (delta: -41.0MB). Peak memory consumption was 105.2MB. Max. memory is 8.0GB. [2022-04-27 12:53:35,355 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16ms. Allocated memory is still 178.3MB. Free memory was 144.3MB in the beginning and 144.1MB in the end (delta: 151.9kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 236.64ms. Allocated memory is still 178.3MB. Free memory was 127.8MB in the beginning and 153.4MB in the end (delta: -25.6MB). Peak memory consumption was 11.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 37.48ms. Allocated memory is still 178.3MB. Free memory was 153.4MB in the beginning and 151.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 289.96ms. Allocated memory is still 178.3MB. Free memory was 151.8MB in the beginning and 139.8MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 122221.14ms. Allocated memory was 178.3MB in the beginning and 215.0MB in the end (delta: 36.7MB). Free memory was 139.3MB in the beginning and 180.3MB in the end (delta: -41.0MB). Peak memory consumption was 105.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 122.1s, OverallIterations: 11, TraceHistogramMax: 11, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 20.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 5.9s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 167 SdHoareTripleChecker+Valid, 4.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 122 mSDsluCounter, 1454 SdHoareTripleChecker+Invalid, 4.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1022 mSDsCounter, 115 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 865 IncrementalHoareTripleChecker+Invalid, 981 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 115 mSolverCounterUnsat, 432 mSDtfsCounter, 865 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 982 GetRequests, 895 SyntacticMatches, 9 SemanticMatches, 78 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 73 ImplicationChecksByTransitivity, 11.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=142occurred in iteration=10, InterpolantAutomatonStates: 66, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 11 MinimizatonAttempts, 11 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 18 LocationsWithAnnotation, 98 PreInvPairs, 162 NumberOfFragments, 293 HoareAnnotationTreeSize, 98 FomulaSimplifications, 266 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 18 FomulaSimplificationsInter, 3283 FormulaSimplificationTreeSizeReductionInter, 5.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 88.1s InterpolantComputationTime, 597 NumberOfCodeBlocks, 558 NumberOfCodeBlocksAsserted, 15 NumberOfCheckSat, 973 ConstructedInterpolants, 0 QuantifiedInterpolants, 2796 SizeOfPredicates, 27 NumberOfNonLiveVariables, 1428 ConjunctsInSsa, 146 ConjunctsInUnsatCore, 17 InterpolantComputations, 7 PerfectInterpolantSequences, 1406/1500 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (b == q * x + y * s && a == y * r + p * x) && p * s == q * r + 1 RESULT: Ultimate proved your program to be correct! [2022-04-27 12:53:35,375 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...