/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/egcd3-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 13:49:08,829 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 13:49:08,831 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 13:49:08,861 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 13:49:08,861 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 13:49:08,862 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 13:49:08,863 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 13:49:08,864 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 13:49:08,866 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 13:49:08,870 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 13:49:08,871 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 13:49:08,873 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 13:49:08,873 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 13:49:08,875 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 13:49:08,876 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 13:49:08,877 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 13:49:08,877 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 13:49:08,878 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 13:49:08,883 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 13:49:08,884 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 13:49:08,885 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 13:49:08,887 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 13:49:08,888 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 13:49:08,890 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 13:49:08,891 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 13:49:08,897 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 13:49:08,897 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 13:49:08,897 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 13:49:08,898 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 13:49:08,898 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 13:49:08,898 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 13:49:08,899 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 13:49:08,899 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 13:49:08,900 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 13:49:08,900 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 13:49:08,901 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 13:49:08,901 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 13:49:08,902 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 13:49:08,902 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 13:49:08,902 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 13:49:08,903 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 13:49:08,903 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 13:49:08,904 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-07 13:49:08,923 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 13:49:08,924 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 13:49:08,925 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 13:49:08,925 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 13:49:08,925 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 13:49:08,925 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 13:49:08,926 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 13:49:08,926 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 13:49:08,926 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 13:49:08,927 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 13:49:08,927 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 13:49:08,928 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 13:49:08,928 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 13:49:08,929 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 13:49:08,929 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 13:49:08,930 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 13:49:08,930 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-07 13:49:09,123 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 13:49:09,139 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 13:49:09,141 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 13:49:09,142 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 13:49:09,143 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 13:49:09,144 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_unwindbound100.c [2022-04-07 13:49:09,194 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7442032bf/ec8d45df5865466690c3e3b5c9c55706/FLAG494d6fdf1 [2022-04-07 13:49:09,546 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 13:49:09,547 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_unwindbound100.c [2022-04-07 13:49:09,552 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7442032bf/ec8d45df5865466690c3e3b5c9c55706/FLAG494d6fdf1 [2022-04-07 13:49:09,560 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7442032bf/ec8d45df5865466690c3e3b5c9c55706 [2022-04-07 13:49:09,562 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 13:49:09,563 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 13:49:09,564 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 13:49:09,564 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 13:49:09,571 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 13:49:09,572 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,573 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@382feead and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09, skipping insertion in model container [2022-04-07 13:49:09,573 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,578 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 13:49:09,592 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 13:49:09,736 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/egcd3-ll_unwindbound100.c[490,503] [2022-04-07 13:49:09,755 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 13:49:09,763 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 13:49:09,773 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/egcd3-ll_unwindbound100.c[490,503] [2022-04-07 13:49:09,787 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 13:49:09,797 INFO L208 MainTranslator]: Completed translation [2022-04-07 13:49:09,798 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09 WrapperNode [2022-04-07 13:49:09,798 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 13:49:09,799 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 13:49:09,799 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 13:49:09,799 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 13:49:09,806 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,806 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,812 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,812 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,820 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,824 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,825 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,827 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 13:49:09,828 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 13:49:09,828 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 13:49:09,828 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 13:49:09,828 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (1/1) ... [2022-04-07 13:49:09,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 13:49:09,844 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:09,853 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-07 13:49:09,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-07 13:49:09,879 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 13:49:09,879 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 13:49:09,880 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 13:49:09,880 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 13:49:09,880 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 13:49:09,880 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 13:49:09,880 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 13:49:09,880 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 13:49:09,880 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 13:49:09,880 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 13:49:09,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 13:49:09,948 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 13:49:09,949 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 13:49:10,154 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 13:49:10,161 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 13:49:10,161 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-07 13:49:10,163 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 01:49:10 BoogieIcfgContainer [2022-04-07 13:49:10,163 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 13:49:10,164 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 13:49:10,164 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 13:49:10,173 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 13:49:10,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 01:49:09" (1/3) ... [2022-04-07 13:49:10,174 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11d9543e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 01:49:10, skipping insertion in model container [2022-04-07 13:49:10,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:49:09" (2/3) ... [2022-04-07 13:49:10,175 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11d9543e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 01:49:10, skipping insertion in model container [2022-04-07 13:49:10,175 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 01:49:10" (3/3) ... [2022-04-07 13:49:10,176 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_unwindbound100.c [2022-04-07 13:49:10,180 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 13:49:10,180 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 13:49:10,213 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 13:49:10,219 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-07 13:49:10,219 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 13:49:10,236 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 25 states have (on average 1.48) internal successors, (37), 26 states have internal predecessors, (37), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 13:49:10,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 13:49:10,240 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:10,241 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:10,241 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:10,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:10,246 INFO L85 PathProgramCache]: Analyzing trace with hash 1766263304, now seen corresponding path program 1 times [2022-04-07 13:49:10,254 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:10,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1352670325] [2022-04-07 13:49:10,254 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:10,255 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:10,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:10,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 13:49:10,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:10,417 INFO L290 TraceCheckUtils]: 0: Hoare triple {56#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43#true} is VALID [2022-04-07 13:49:10,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-07 13:49:10,418 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #108#return; {43#true} is VALID [2022-04-07 13:49:10,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 13:49:10,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:10,436 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-07 13:49:10,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-07 13:49:10,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-07 13:49:10,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-07 13:49:10,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 13:49:10,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:10,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-07 13:49:10,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-07 13:49:10,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-07 13:49:10,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-07 13:49:10,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {56#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 13:49:10,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {56#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43#true} is VALID [2022-04-07 13:49:10,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-07 13:49:10,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #108#return; {43#true} is VALID [2022-04-07 13:49:10,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret9 := main(); {43#true} is VALID [2022-04-07 13:49:10,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43#true} is VALID [2022-04-07 13:49:10,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-07 13:49:10,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-07 13:49:10,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-07 13:49:10,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-07 13:49:10,457 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-07 13:49:10,458 INFO L272 TraceCheckUtils]: 11: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-07 13:49:10,458 INFO L290 TraceCheckUtils]: 12: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-07 13:49:10,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-07 13:49:10,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-07 13:49:10,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-07 13:49:10,460 INFO L290 TraceCheckUtils]: 16: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-07 13:49:10,460 INFO L290 TraceCheckUtils]: 17: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-07 13:49:10,460 INFO L272 TraceCheckUtils]: 18: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-07 13:49:10,460 INFO L290 TraceCheckUtils]: 19: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-07 13:49:10,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-07 13:49:10,461 INFO L290 TraceCheckUtils]: 21: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-07 13:49:10,462 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:10,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:10,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1352670325] [2022-04-07 13:49:10,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1352670325] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:10,463 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:10,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 13:49:10,466 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [596958256] [2022-04-07 13:49:10,467 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:10,472 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 13:49:10,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:10,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:10,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:10,508 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 13:49:10,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:10,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 13:49:10,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 13:49:10,537 INFO L87 Difference]: Start difference. First operand has 40 states, 25 states have (on average 1.48) internal successors, (37), 26 states have internal predecessors, (37), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:10,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:10,761 INFO L93 Difference]: Finished difference Result 74 states and 111 transitions. [2022-04-07 13:49:10,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 13:49:10,762 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 13:49:10,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:10,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:10,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 111 transitions. [2022-04-07 13:49:10,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:10,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 111 transitions. [2022-04-07 13:49:10,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 111 transitions. [2022-04-07 13:49:10,915 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-07 13:49:10,929 INFO L225 Difference]: With dead ends: 74 [2022-04-07 13:49:10,929 INFO L226 Difference]: Without dead ends: 36 [2022-04-07 13:49:10,932 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 13:49:10,935 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 51 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:10,937 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 51 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:49:10,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-07 13:49:10,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 35. [2022-04-07 13:49:10,963 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:10,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:10,964 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:10,965 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:10,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:10,969 INFO L93 Difference]: Finished difference Result 36 states and 46 transitions. [2022-04-07 13:49:10,969 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 46 transitions. [2022-04-07 13:49:10,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:10,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:10,970 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 36 states. [2022-04-07 13:49:10,971 INFO L87 Difference]: Start difference. First operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 36 states. [2022-04-07 13:49:10,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:10,974 INFO L93 Difference]: Finished difference Result 36 states and 46 transitions. [2022-04-07 13:49:10,974 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 46 transitions. [2022-04-07 13:49:10,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:10,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:10,975 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:10,975 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:10,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:10,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 45 transitions. [2022-04-07 13:49:10,979 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 45 transitions. Word has length 22 [2022-04-07 13:49:10,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:10,979 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 45 transitions. [2022-04-07 13:49:10,980 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:10,980 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 45 transitions. [2022-04-07 13:49:10,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 13:49:10,981 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:10,981 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:10,981 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 13:49:10,981 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:10,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:10,982 INFO L85 PathProgramCache]: Analyzing trace with hash -81203399, now seen corresponding path program 1 times [2022-04-07 13:49:10,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:10,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [770645120] [2022-04-07 13:49:10,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:10,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:11,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:11,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [311344245] [2022-04-07 13:49:11,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:11,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:11,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:11,004 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:11,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-07 13:49:11,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:11,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 13:49:11,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:11,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:11,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {284#true} call ULTIMATE.init(); {284#true} is VALID [2022-04-07 13:49:11,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {284#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#(<= ~counter~0 0)} assume true; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#(<= ~counter~0 0)} {284#true} #108#return; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#(<= ~counter~0 0)} call #t~ret9 := main(); {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,260 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,260 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#(<= ~counter~0 0)} ~cond := #in~cond; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,261 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#(<= ~counter~0 0)} assume !(0 == ~cond); {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#(<= ~counter~0 0)} assume true; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,262 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#(<= ~counter~0 0)} {292#(<= ~counter~0 0)} #94#return; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,263 INFO L272 TraceCheckUtils]: 11: Hoare triple {292#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,263 INFO L290 TraceCheckUtils]: 12: Hoare triple {292#(<= ~counter~0 0)} ~cond := #in~cond; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {292#(<= ~counter~0 0)} assume !(0 == ~cond); {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {292#(<= ~counter~0 0)} assume true; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,268 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {292#(<= ~counter~0 0)} {292#(<= ~counter~0 0)} #96#return; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {292#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {292#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:11,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {292#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {341#(<= |main_#t~post6| 0)} is VALID [2022-04-07 13:49:11,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {341#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {285#false} is VALID [2022-04-07 13:49:11,272 INFO L272 TraceCheckUtils]: 19: Hoare triple {285#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {285#false} is VALID [2022-04-07 13:49:11,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {285#false} ~cond := #in~cond; {285#false} is VALID [2022-04-07 13:49:11,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#false} assume 0 == ~cond; {285#false} is VALID [2022-04-07 13:49:11,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {285#false} assume !false; {285#false} is VALID [2022-04-07 13:49:11,273 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:11,273 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:11,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:11,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [770645120] [2022-04-07 13:49:11,274 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:11,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [311344245] [2022-04-07 13:49:11,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [311344245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:11,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:11,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 13:49:11,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1711374630] [2022-04-07 13:49:11,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:11,276 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-07 13:49:11,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:11,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:11,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:11,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 13:49:11,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:11,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 13:49:11,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 13:49:11,297 INFO L87 Difference]: Start difference. First operand 35 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:11,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:11,391 INFO L93 Difference]: Finished difference Result 44 states and 54 transitions. [2022-04-07 13:49:11,392 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 13:49:11,392 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-07 13:49:11,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:11,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:11,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-04-07 13:49:11,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:11,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-04-07 13:49:11,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 54 transitions. [2022-04-07 13:49:11,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:11,449 INFO L225 Difference]: With dead ends: 44 [2022-04-07 13:49:11,449 INFO L226 Difference]: Without dead ends: 37 [2022-04-07 13:49:11,450 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 13:49:11,451 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:11,452 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 113 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:49:11,454 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-07 13:49:11,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-07 13:49:11,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:11,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:11,467 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:11,468 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:11,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:11,474 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-04-07 13:49:11,474 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-04-07 13:49:11,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:11,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:11,477 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 37 states. [2022-04-07 13:49:11,477 INFO L87 Difference]: Start difference. First operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 37 states. [2022-04-07 13:49:11,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:11,481 INFO L93 Difference]: Finished difference Result 37 states and 47 transitions. [2022-04-07 13:49:11,481 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-04-07 13:49:11,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:11,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:11,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:11,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:11,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:11,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 47 transitions. [2022-04-07 13:49:11,484 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 47 transitions. Word has length 23 [2022-04-07 13:49:11,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:11,487 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 47 transitions. [2022-04-07 13:49:11,487 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:11,487 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2022-04-07 13:49:11,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-07 13:49:11,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:11,488 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:11,516 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:11,689 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:11,690 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:11,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:11,690 INFO L85 PathProgramCache]: Analyzing trace with hash 1762644405, now seen corresponding path program 1 times [2022-04-07 13:49:11,691 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:11,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [752703031] [2022-04-07 13:49:11,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:11,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:11,713 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:11,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [555959295] [2022-04-07 13:49:11,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:11,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:11,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:11,728 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:11,732 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 13:49:11,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:11,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:49:11,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:11,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:11,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {547#true} call ULTIMATE.init(); {547#true} is VALID [2022-04-07 13:49:11,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {547#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {547#true} is VALID [2022-04-07 13:49:11,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {547#true} assume true; {547#true} is VALID [2022-04-07 13:49:11,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {547#true} {547#true} #108#return; {547#true} is VALID [2022-04-07 13:49:11,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {547#true} call #t~ret9 := main(); {547#true} is VALID [2022-04-07 13:49:11,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {547#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {547#true} is VALID [2022-04-07 13:49:11,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {547#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {547#true} is VALID [2022-04-07 13:49:11,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {547#true} ~cond := #in~cond; {547#true} is VALID [2022-04-07 13:49:11,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {547#true} assume !(0 == ~cond); {547#true} is VALID [2022-04-07 13:49:11,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {547#true} assume true; {547#true} is VALID [2022-04-07 13:49:11,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {547#true} {547#true} #94#return; {547#true} is VALID [2022-04-07 13:49:11,940 INFO L272 TraceCheckUtils]: 11: Hoare triple {547#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {547#true} is VALID [2022-04-07 13:49:11,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {547#true} ~cond := #in~cond; {588#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:49:11,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {588#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {592#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:11,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {592#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {592#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:11,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {592#(not (= |assume_abort_if_not_#in~cond| 0))} {547#true} #96#return; {599#(<= 1 main_~y~0)} is VALID [2022-04-07 13:49:11,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {599#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {603#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:11,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {603#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {603#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:11,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {603#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {603#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:11,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {603#(<= 1 main_~b~0)} assume !(0 != ~b~0); {548#false} is VALID [2022-04-07 13:49:11,947 INFO L272 TraceCheckUtils]: 20: Hoare triple {548#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {548#false} is VALID [2022-04-07 13:49:11,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {548#false} ~cond := #in~cond; {548#false} is VALID [2022-04-07 13:49:11,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {548#false} assume 0 == ~cond; {548#false} is VALID [2022-04-07 13:49:11,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {548#false} assume !false; {548#false} is VALID [2022-04-07 13:49:11,948 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:11,949 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:11,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:11,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [752703031] [2022-04-07 13:49:11,949 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:11,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [555959295] [2022-04-07 13:49:11,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [555959295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:11,950 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:11,950 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 13:49:11,950 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1233418926] [2022-04-07 13:49:11,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:11,951 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-04-07 13:49:11,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:11,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:11,975 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-07 13:49:11,975 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 13:49:11,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:11,976 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 13:49:11,976 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:49:11,976 INFO L87 Difference]: Start difference. First operand 37 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:12,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:12,237 INFO L93 Difference]: Finished difference Result 57 states and 75 transitions. [2022-04-07 13:49:12,237 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:49:12,237 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-04-07 13:49:12,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:12,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:12,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-07 13:49:12,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:12,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-07 13:49:12,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-07 13:49:12,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:12,330 INFO L225 Difference]: With dead ends: 57 [2022-04-07 13:49:12,330 INFO L226 Difference]: Without dead ends: 50 [2022-04-07 13:49:12,330 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 13:49:12,333 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 46 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:12,334 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 148 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:49:12,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-07 13:49:12,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 38. [2022-04-07 13:49:12,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:12,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:12,357 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:12,357 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:12,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:12,359 INFO L93 Difference]: Finished difference Result 50 states and 68 transitions. [2022-04-07 13:49:12,360 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 68 transitions. [2022-04-07 13:49:12,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:12,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:12,365 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-07 13:49:12,365 INFO L87 Difference]: Start difference. First operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-07 13:49:12,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:12,367 INFO L93 Difference]: Finished difference Result 50 states and 68 transitions. [2022-04-07 13:49:12,367 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 68 transitions. [2022-04-07 13:49:12,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:12,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:12,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:12,368 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:12,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 25 states have (on average 1.28) internal successors, (32), 26 states have internal predecessors, (32), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:12,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 48 transitions. [2022-04-07 13:49:12,370 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 48 transitions. Word has length 24 [2022-04-07 13:49:12,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:12,370 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 48 transitions. [2022-04-07 13:49:12,370 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:12,371 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 48 transitions. [2022-04-07 13:49:12,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 13:49:12,371 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:12,371 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:12,390 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:12,579 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-07 13:49:12,579 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:12,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:12,580 INFO L85 PathProgramCache]: Analyzing trace with hash -1090347867, now seen corresponding path program 1 times [2022-04-07 13:49:12,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:12,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [928433449] [2022-04-07 13:49:12,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:12,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:12,602 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:12,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1978484593] [2022-04-07 13:49:12,603 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:12,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:12,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:12,604 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:12,629 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 13:49:12,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:12,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:49:12,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:12,670 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:12,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {865#true} call ULTIMATE.init(); {865#true} is VALID [2022-04-07 13:49:12,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {865#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {873#(<= ~counter~0 0)} assume true; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {873#(<= ~counter~0 0)} {865#true} #108#return; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,819 INFO L272 TraceCheckUtils]: 4: Hoare triple {873#(<= ~counter~0 0)} call #t~ret9 := main(); {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {873#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {873#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {873#(<= ~counter~0 0)} ~cond := #in~cond; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,820 INFO L290 TraceCheckUtils]: 8: Hoare triple {873#(<= ~counter~0 0)} assume !(0 == ~cond); {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {873#(<= ~counter~0 0)} assume true; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {873#(<= ~counter~0 0)} {873#(<= ~counter~0 0)} #94#return; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,821 INFO L272 TraceCheckUtils]: 11: Hoare triple {873#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {873#(<= ~counter~0 0)} ~cond := #in~cond; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,822 INFO L290 TraceCheckUtils]: 13: Hoare triple {873#(<= ~counter~0 0)} assume !(0 == ~cond); {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {873#(<= ~counter~0 0)} assume true; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,823 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {873#(<= ~counter~0 0)} {873#(<= ~counter~0 0)} #96#return; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {873#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {873#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:12,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {873#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {922#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:12,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {922#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:12,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {922#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:12,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {932#(<= |main_#t~post7| 1)} is VALID [2022-04-07 13:49:12,825 INFO L290 TraceCheckUtils]: 21: Hoare triple {932#(<= |main_#t~post7| 1)} assume !(#t~post7 < 100);havoc #t~post7; {866#false} is VALID [2022-04-07 13:49:12,825 INFO L290 TraceCheckUtils]: 22: Hoare triple {866#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {866#false} is VALID [2022-04-07 13:49:12,825 INFO L290 TraceCheckUtils]: 23: Hoare triple {866#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {866#false} is VALID [2022-04-07 13:49:12,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {866#false} assume !(#t~post6 < 100);havoc #t~post6; {866#false} is VALID [2022-04-07 13:49:12,826 INFO L272 TraceCheckUtils]: 25: Hoare triple {866#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {866#false} is VALID [2022-04-07 13:49:12,826 INFO L290 TraceCheckUtils]: 26: Hoare triple {866#false} ~cond := #in~cond; {866#false} is VALID [2022-04-07 13:49:12,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {866#false} assume 0 == ~cond; {866#false} is VALID [2022-04-07 13:49:12,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {866#false} assume !false; {866#false} is VALID [2022-04-07 13:49:12,826 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:12,826 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:12,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:12,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [928433449] [2022-04-07 13:49:12,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:12,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1978484593] [2022-04-07 13:49:12,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1978484593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:12,827 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:12,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:49:12,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [713699808] [2022-04-07 13:49:12,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:12,828 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), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-07 13:49:12,828 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:12,828 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), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:12,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:12,850 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:49:12,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:12,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:49:12,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:49:12,851 INFO L87 Difference]: Start difference. First operand 38 states and 48 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:12,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:12,983 INFO L93 Difference]: Finished difference Result 62 states and 82 transitions. [2022-04-07 13:49:12,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:49:12,984 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), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-07 13:49:12,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:12,984 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), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:12,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-07 13:49:12,987 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), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:12,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-07 13:49:12,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-04-07 13:49:13,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:13,054 INFO L225 Difference]: With dead ends: 62 [2022-04-07 13:49:13,054 INFO L226 Difference]: Without dead ends: 40 [2022-04-07 13:49:13,055 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:49:13,055 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:13,056 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 139 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:49:13,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-07 13:49:13,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2022-04-07 13:49:13,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:13,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:13,091 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:13,091 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:13,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:13,096 INFO L93 Difference]: Finished difference Result 40 states and 50 transitions. [2022-04-07 13:49:13,096 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 50 transitions. [2022-04-07 13:49:13,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:13,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:13,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 40 states. [2022-04-07 13:49:13,100 INFO L87 Difference]: Start difference. First operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 40 states. [2022-04-07 13:49:13,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:13,104 INFO L93 Difference]: Finished difference Result 40 states and 50 transitions. [2022-04-07 13:49:13,104 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 50 transitions. [2022-04-07 13:49:13,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:13,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:13,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:13,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:13,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 28 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 13:49:13,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 50 transitions. [2022-04-07 13:49:13,110 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 50 transitions. Word has length 29 [2022-04-07 13:49:13,110 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:13,110 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 50 transitions. [2022-04-07 13:49:13,111 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:13,111 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 50 transitions. [2022-04-07 13:49:13,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 13:49:13,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:13,111 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:13,141 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:13,338 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:13,339 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:13,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:13,339 INFO L85 PathProgramCache]: Analyzing trace with hash 795698770, now seen corresponding path program 1 times [2022-04-07 13:49:13,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:13,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [838229425] [2022-04-07 13:49:13,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:13,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:13,365 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:13,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1855110830] [2022-04-07 13:49:13,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:13,366 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:13,366 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:13,367 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:13,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 13:49:13,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:13,409 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-07 13:49:13,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:13,419 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:13,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {1183#true} call ULTIMATE.init(); {1183#true} is VALID [2022-04-07 13:49:13,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {1183#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1183#true} is VALID [2022-04-07 13:49:13,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {1183#true} assume true; {1183#true} is VALID [2022-04-07 13:49:13,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1183#true} {1183#true} #108#return; {1183#true} is VALID [2022-04-07 13:49:13,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {1183#true} call #t~ret9 := main(); {1183#true} is VALID [2022-04-07 13:49:13,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {1183#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1183#true} is VALID [2022-04-07 13:49:13,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {1183#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1183#true} is VALID [2022-04-07 13:49:13,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {1183#true} ~cond := #in~cond; {1183#true} is VALID [2022-04-07 13:49:13,820 INFO L290 TraceCheckUtils]: 8: Hoare triple {1183#true} assume !(0 == ~cond); {1183#true} is VALID [2022-04-07 13:49:13,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {1183#true} assume true; {1183#true} is VALID [2022-04-07 13:49:13,820 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1183#true} {1183#true} #94#return; {1183#true} is VALID [2022-04-07 13:49:13,820 INFO L272 TraceCheckUtils]: 11: Hoare triple {1183#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1183#true} is VALID [2022-04-07 13:49:13,821 INFO L290 TraceCheckUtils]: 12: Hoare triple {1183#true} ~cond := #in~cond; {1224#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:49:13,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {1224#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1228#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:13,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {1228#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1228#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:13,824 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1228#(not (= |assume_abort_if_not_#in~cond| 0))} {1183#true} #96#return; {1235#(<= 1 main_~y~0)} is VALID [2022-04-07 13:49:13,824 INFO L290 TraceCheckUtils]: 16: Hoare triple {1235#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,825 INFO L290 TraceCheckUtils]: 17: Hoare triple {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {1239#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {1249#(and (= main_~r~0 0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:13,836 INFO L272 TraceCheckUtils]: 25: Hoare triple {1259#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~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)); {1269#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:13,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {1269#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1273#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:13,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {1273#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1184#false} is VALID [2022-04-07 13:49:13,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {1184#false} assume !false; {1184#false} is VALID [2022-04-07 13:49:13,837 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:13,837 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:13,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:13,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [838229425] [2022-04-07 13:49:13,837 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:13,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855110830] [2022-04-07 13:49:13,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855110830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:13,837 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:13,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-07 13:49:13,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92820102] [2022-04-07 13:49:13,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:13,838 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 29 [2022-04-07 13:49:13,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:13,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:13,861 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-07 13:49:13,861 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:49:13,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:13,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:49:13,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:49:13,862 INFO L87 Difference]: Start difference. First operand 40 states and 50 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:14,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:14,522 INFO L93 Difference]: Finished difference Result 68 states and 92 transitions. [2022-04-07 13:49:14,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 13:49:14,522 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 29 [2022-04-07 13:49:14,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:14,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:14,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 92 transitions. [2022-04-07 13:49:14,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:14,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 92 transitions. [2022-04-07 13:49:14,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 92 transitions. [2022-04-07 13:49:14,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:14,619 INFO L225 Difference]: With dead ends: 68 [2022-04-07 13:49:14,619 INFO L226 Difference]: Without dead ends: 66 [2022-04-07 13:49:14,619 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-07 13:49:14,620 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 67 mSDsluCounter, 197 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 237 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:14,620 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 237 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:14,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-07 13:49:14,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 55. [2022-04-07 13:49:14,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:14,656 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 13:49:14,656 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 13:49:14,656 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 13:49:14,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:14,659 INFO L93 Difference]: Finished difference Result 66 states and 90 transitions. [2022-04-07 13:49:14,660 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 90 transitions. [2022-04-07 13:49:14,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:14,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:14,660 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 66 states. [2022-04-07 13:49:14,661 INFO L87 Difference]: Start difference. First operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 66 states. [2022-04-07 13:49:14,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:14,664 INFO L93 Difference]: Finished difference Result 66 states and 90 transitions. [2022-04-07 13:49:14,664 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 90 transitions. [2022-04-07 13:49:14,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:14,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:14,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:14,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:14,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 37 states have (on average 1.2972972972972974) internal successors, (48), 38 states have internal predecessors, (48), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 13:49:14,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 72 transitions. [2022-04-07 13:49:14,667 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 72 transitions. Word has length 29 [2022-04-07 13:49:14,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:14,667 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 72 transitions. [2022-04-07 13:49:14,667 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:14,667 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 72 transitions. [2022-04-07 13:49:14,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-07 13:49:14,668 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:14,668 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:14,691 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:14,887 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:14,887 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:14,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:14,888 INFO L85 PathProgramCache]: Analyzing trace with hash 979890972, now seen corresponding path program 1 times [2022-04-07 13:49:14,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:14,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2124243966] [2022-04-07 13:49:14,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:14,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:14,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:14,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [56490334] [2022-04-07 13:49:14,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:14,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:14,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:14,910 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:14,915 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 13:49:14,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:14,954 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:49:14,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:14,966 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:15,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {1597#true} call ULTIMATE.init(); {1597#true} is VALID [2022-04-07 13:49:15,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {1597#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {1605#(<= ~counter~0 0)} assume true; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1605#(<= ~counter~0 0)} {1597#true} #108#return; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {1605#(<= ~counter~0 0)} call #t~ret9 := main(); {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {1605#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {1605#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {1605#(<= ~counter~0 0)} ~cond := #in~cond; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {1605#(<= ~counter~0 0)} assume !(0 == ~cond); {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {1605#(<= ~counter~0 0)} assume true; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1605#(<= ~counter~0 0)} {1605#(<= ~counter~0 0)} #94#return; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,141 INFO L272 TraceCheckUtils]: 11: Hoare triple {1605#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {1605#(<= ~counter~0 0)} ~cond := #in~cond; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {1605#(<= ~counter~0 0)} assume !(0 == ~cond); {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,142 INFO L290 TraceCheckUtils]: 14: Hoare triple {1605#(<= ~counter~0 0)} assume true; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,142 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1605#(<= ~counter~0 0)} {1605#(<= ~counter~0 0)} #96#return; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,143 INFO L290 TraceCheckUtils]: 16: Hoare triple {1605#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1605#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:15,143 INFO L290 TraceCheckUtils]: 17: Hoare triple {1605#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1654#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:15,144 INFO L290 TraceCheckUtils]: 18: Hoare triple {1654#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1654#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:15,144 INFO L290 TraceCheckUtils]: 19: Hoare triple {1654#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1654#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:15,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {1654#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1664#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:15,146 INFO L290 TraceCheckUtils]: 21: Hoare triple {1664#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {1664#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:15,146 INFO L290 TraceCheckUtils]: 22: Hoare triple {1664#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {1664#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:15,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {1664#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1664#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:15,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {1664#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1677#(<= |main_#t~post6| 2)} is VALID [2022-04-07 13:49:15,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {1598#false} is VALID [2022-04-07 13:49:15,147 INFO L272 TraceCheckUtils]: 26: Hoare triple {1598#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1598#false} is VALID [2022-04-07 13:49:15,147 INFO L290 TraceCheckUtils]: 27: Hoare triple {1598#false} ~cond := #in~cond; {1598#false} is VALID [2022-04-07 13:49:15,148 INFO L290 TraceCheckUtils]: 28: Hoare triple {1598#false} assume 0 == ~cond; {1598#false} is VALID [2022-04-07 13:49:15,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {1598#false} assume !false; {1598#false} is VALID [2022-04-07 13:49:15,148 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:15,148 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:15,349 INFO L290 TraceCheckUtils]: 29: Hoare triple {1598#false} assume !false; {1598#false} is VALID [2022-04-07 13:49:15,349 INFO L290 TraceCheckUtils]: 28: Hoare triple {1598#false} assume 0 == ~cond; {1598#false} is VALID [2022-04-07 13:49:15,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {1598#false} ~cond := #in~cond; {1598#false} is VALID [2022-04-07 13:49:15,350 INFO L272 TraceCheckUtils]: 26: Hoare triple {1598#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1598#false} is VALID [2022-04-07 13:49:15,350 INFO L290 TraceCheckUtils]: 25: Hoare triple {1705#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1598#false} is VALID [2022-04-07 13:49:15,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {1709#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1705#(< |main_#t~post6| 100)} is VALID [2022-04-07 13:49:15,351 INFO L290 TraceCheckUtils]: 23: Hoare triple {1709#(< ~counter~0 100)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1709#(< ~counter~0 100)} is VALID [2022-04-07 13:49:15,351 INFO L290 TraceCheckUtils]: 22: Hoare triple {1709#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {1709#(< ~counter~0 100)} is VALID [2022-04-07 13:49:15,351 INFO L290 TraceCheckUtils]: 21: Hoare triple {1709#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {1709#(< ~counter~0 100)} is VALID [2022-04-07 13:49:15,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {1722#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1709#(< ~counter~0 100)} is VALID [2022-04-07 13:49:15,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {1722#(< ~counter~0 99)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1722#(< ~counter~0 99)} is VALID [2022-04-07 13:49:15,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {1722#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {1722#(< ~counter~0 99)} is VALID [2022-04-07 13:49:15,353 INFO L290 TraceCheckUtils]: 17: Hoare triple {1732#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1722#(< ~counter~0 99)} is VALID [2022-04-07 13:49:15,353 INFO L290 TraceCheckUtils]: 16: Hoare triple {1732#(< ~counter~0 98)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,357 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1597#true} {1732#(< ~counter~0 98)} #96#return; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-04-07 13:49:15,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-04-07 13:49:15,358 INFO L290 TraceCheckUtils]: 12: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-04-07 13:49:15,358 INFO L272 TraceCheckUtils]: 11: Hoare triple {1732#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1597#true} is VALID [2022-04-07 13:49:15,358 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1597#true} {1732#(< ~counter~0 98)} #94#return; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-04-07 13:49:15,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-04-07 13:49:15,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-04-07 13:49:15,359 INFO L272 TraceCheckUtils]: 6: Hoare triple {1732#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1597#true} is VALID [2022-04-07 13:49:15,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {1732#(< ~counter~0 98)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {1732#(< ~counter~0 98)} call #t~ret9 := main(); {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1732#(< ~counter~0 98)} {1597#true} #108#return; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {1732#(< ~counter~0 98)} assume true; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {1597#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1732#(< ~counter~0 98)} is VALID [2022-04-07 13:49:15,361 INFO L272 TraceCheckUtils]: 0: Hoare triple {1597#true} call ULTIMATE.init(); {1597#true} is VALID [2022-04-07 13:49:15,361 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:15,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:15,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2124243966] [2022-04-07 13:49:15,362 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:15,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [56490334] [2022-04-07 13:49:15,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [56490334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:15,362 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:15,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-07 13:49:15,362 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1353878462] [2022-04-07 13:49:15,362 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:15,363 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 30 [2022-04-07 13:49:15,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:15,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:15,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:15,399 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:49:15,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:15,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:49:15,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:49:15,399 INFO L87 Difference]: Start difference. First operand 55 states and 72 transitions. Second operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:15,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:15,966 INFO L93 Difference]: Finished difference Result 151 states and 197 transitions. [2022-04-07 13:49:15,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 13:49:15,966 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 30 [2022-04-07 13:49:15,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:15,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:15,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 145 transitions. [2022-04-07 13:49:15,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:15,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 145 transitions. [2022-04-07 13:49:15,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 145 transitions. [2022-04-07 13:49:16,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:16,092 INFO L225 Difference]: With dead ends: 151 [2022-04-07 13:49:16,092 INFO L226 Difference]: Without dead ends: 144 [2022-04-07 13:49:16,092 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 51 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=100, Unknown=0, NotChecked=0, Total=156 [2022-04-07 13:49:16,093 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 132 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 72 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 72 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:16,093 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [132 Valid, 257 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [72 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:49:16,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-07 13:49:16,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 101. [2022-04-07 13:49:16,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:16,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 13:49:16,182 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 13:49:16,182 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 13:49:16,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:16,188 INFO L93 Difference]: Finished difference Result 144 states and 188 transitions. [2022-04-07 13:49:16,188 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 188 transitions. [2022-04-07 13:49:16,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:16,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:16,190 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 144 states. [2022-04-07 13:49:16,190 INFO L87 Difference]: Start difference. First operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 144 states. [2022-04-07 13:49:16,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:16,196 INFO L93 Difference]: Finished difference Result 144 states and 188 transitions. [2022-04-07 13:49:16,196 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 188 transitions. [2022-04-07 13:49:16,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:16,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:16,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:16,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:16,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 72 states have internal predecessors, (93), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 13:49:16,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 134 transitions. [2022-04-07 13:49:16,201 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 134 transitions. Word has length 30 [2022-04-07 13:49:16,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:16,201 INFO L478 AbstractCegarLoop]: Abstraction has 101 states and 134 transitions. [2022-04-07 13:49:16,201 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 10 states have internal predecessors, (35), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:16,201 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 134 transitions. [2022-04-07 13:49:16,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-07 13:49:16,202 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:16,202 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:16,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:16,415 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:16,415 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:16,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:16,416 INFO L85 PathProgramCache]: Analyzing trace with hash 296831538, now seen corresponding path program 1 times [2022-04-07 13:49:16,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:16,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [450677134] [2022-04-07 13:49:16,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:16,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:16,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:16,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1052153342] [2022-04-07 13:49:16,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:16,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:16,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:16,437 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:16,438 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 13:49:16,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:16,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:49:16,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:16,488 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:16,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {2441#true} call ULTIMATE.init(); {2441#true} is VALID [2022-04-07 13:49:16,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {2441#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2441#true} is VALID [2022-04-07 13:49:16,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {2441#true} assume true; {2441#true} is VALID [2022-04-07 13:49:16,658 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2441#true} {2441#true} #108#return; {2441#true} is VALID [2022-04-07 13:49:16,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {2441#true} call #t~ret9 := main(); {2441#true} is VALID [2022-04-07 13:49:16,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {2441#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2441#true} is VALID [2022-04-07 13:49:16,659 INFO L272 TraceCheckUtils]: 6: Hoare triple {2441#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2441#true} is VALID [2022-04-07 13:49:16,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {2441#true} ~cond := #in~cond; {2467#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:49:16,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {2467#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:16,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {2471#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:16,661 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2471#(not (= |assume_abort_if_not_#in~cond| 0))} {2441#true} #94#return; {2478#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:16,661 INFO L272 TraceCheckUtils]: 11: Hoare triple {2478#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2441#true} is VALID [2022-04-07 13:49:16,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2022-04-07 13:49:16,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2022-04-07 13:49:16,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {2441#true} assume true; {2441#true} is VALID [2022-04-07 13:49:16,662 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2441#true} {2478#(<= 1 main_~x~0)} #96#return; {2478#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:16,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {2478#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,662 INFO L290 TraceCheckUtils]: 17: Hoare triple {2497#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {2497#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {2497#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {2507#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {2507#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {2507#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {2507#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,665 INFO L290 TraceCheckUtils]: 24: Hoare triple {2520#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,665 INFO L290 TraceCheckUtils]: 25: Hoare triple {2520#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,665 INFO L290 TraceCheckUtils]: 26: Hoare triple {2520#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2442#false} is VALID [2022-04-07 13:49:16,665 INFO L272 TraceCheckUtils]: 27: Hoare triple {2442#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {2442#false} is VALID [2022-04-07 13:49:16,666 INFO L290 TraceCheckUtils]: 28: Hoare triple {2442#false} ~cond := #in~cond; {2442#false} is VALID [2022-04-07 13:49:16,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {2442#false} assume 0 == ~cond; {2442#false} is VALID [2022-04-07 13:49:16,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {2442#false} assume !false; {2442#false} is VALID [2022-04-07 13:49:16,667 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:16,667 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:16,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {2442#false} assume !false; {2442#false} is VALID [2022-04-07 13:49:16,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {2442#false} assume 0 == ~cond; {2442#false} is VALID [2022-04-07 13:49:16,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {2442#false} ~cond := #in~cond; {2442#false} is VALID [2022-04-07 13:49:16,872 INFO L272 TraceCheckUtils]: 27: Hoare triple {2442#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {2442#false} is VALID [2022-04-07 13:49:16,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {2520#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2442#false} is VALID [2022-04-07 13:49:16,873 INFO L290 TraceCheckUtils]: 25: Hoare triple {2520#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {2520#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {2507#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2520#(<= 1 main_~b~0)} is VALID [2022-04-07 13:49:16,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {2507#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {2507#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {2507#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,898 INFO L290 TraceCheckUtils]: 19: Hoare triple {2497#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2507#(<= 1 main_~c~0)} is VALID [2022-04-07 13:49:16,899 INFO L290 TraceCheckUtils]: 18: Hoare triple {2497#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {2497#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,900 INFO L290 TraceCheckUtils]: 16: Hoare triple {2478#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2497#(<= 1 main_~a~0)} is VALID [2022-04-07 13:49:16,900 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2441#true} {2478#(<= 1 main_~x~0)} #96#return; {2478#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:16,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {2441#true} assume true; {2441#true} is VALID [2022-04-07 13:49:16,901 INFO L290 TraceCheckUtils]: 13: Hoare triple {2441#true} assume !(0 == ~cond); {2441#true} is VALID [2022-04-07 13:49:16,901 INFO L290 TraceCheckUtils]: 12: Hoare triple {2441#true} ~cond := #in~cond; {2441#true} is VALID [2022-04-07 13:49:16,901 INFO L272 TraceCheckUtils]: 11: Hoare triple {2478#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2441#true} is VALID [2022-04-07 13:49:16,901 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2471#(not (= |assume_abort_if_not_#in~cond| 0))} {2441#true} #94#return; {2478#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:16,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {2471#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:16,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {2611#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2471#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:16,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {2441#true} ~cond := #in~cond; {2611#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 13:49:16,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {2441#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2441#true} is VALID [2022-04-07 13:49:16,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {2441#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2441#true} is VALID [2022-04-07 13:49:16,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {2441#true} call #t~ret9 := main(); {2441#true} is VALID [2022-04-07 13:49:16,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2441#true} {2441#true} #108#return; {2441#true} is VALID [2022-04-07 13:49:16,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {2441#true} assume true; {2441#true} is VALID [2022-04-07 13:49:16,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {2441#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2441#true} is VALID [2022-04-07 13:49:16,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {2441#true} call ULTIMATE.init(); {2441#true} is VALID [2022-04-07 13:49:16,904 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:16,904 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:16,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [450677134] [2022-04-07 13:49:16,904 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:16,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1052153342] [2022-04-07 13:49:16,904 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1052153342] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:16,904 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:16,904 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-07 13:49:16,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [8421684] [2022-04-07 13:49:16,905 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:16,905 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-04-07 13:49:16,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:16,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:16,925 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:16,925 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 13:49:16,925 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:16,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 13:49:16,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 13:49:16,925 INFO L87 Difference]: Start difference. First operand 101 states and 134 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:17,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:17,850 INFO L93 Difference]: Finished difference Result 187 states and 265 transitions. [2022-04-07 13:49:17,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 13:49:17,850 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-04-07 13:49:17,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:17,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:17,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 155 transitions. [2022-04-07 13:49:17,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:17,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 155 transitions. [2022-04-07 13:49:17,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 155 transitions. [2022-04-07 13:49:18,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:18,005 INFO L225 Difference]: With dead ends: 187 [2022-04-07 13:49:18,005 INFO L226 Difference]: Without dead ends: 175 [2022-04-07 13:49:18,005 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-07 13:49:18,006 INFO L913 BasicCegarLoop]: 65 mSDtfsCounter, 113 mSDsluCounter, 293 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 63 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 117 SdHoareTripleChecker+Valid, 358 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 63 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:18,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [117 Valid, 358 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [63 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:18,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-07 13:49:18,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 132. [2022-04-07 13:49:18,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:18,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:18,175 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:18,175 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:18,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:18,182 INFO L93 Difference]: Finished difference Result 175 states and 251 transitions. [2022-04-07 13:49:18,182 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 251 transitions. [2022-04-07 13:49:18,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:18,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:18,183 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 175 states. [2022-04-07 13:49:18,184 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 175 states. [2022-04-07 13:49:18,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:18,190 INFO L93 Difference]: Finished difference Result 175 states and 251 transitions. [2022-04-07 13:49:18,191 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 251 transitions. [2022-04-07 13:49:18,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:18,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:18,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:18,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:18,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.346938775510204) internal successors, (132), 99 states have internal predecessors, (132), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:18,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 180 transitions. [2022-04-07 13:49:18,196 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 180 transitions. Word has length 31 [2022-04-07 13:49:18,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:18,196 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 180 transitions. [2022-04-07 13:49:18,197 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:18,197 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 180 transitions. [2022-04-07 13:49:18,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-07 13:49:18,197 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:18,197 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:18,219 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:18,419 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:18,420 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:18,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:18,420 INFO L85 PathProgramCache]: Analyzing trace with hash 495607521, now seen corresponding path program 1 times [2022-04-07 13:49:18,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:18,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659892316] [2022-04-07 13:49:18,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:18,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:18,440 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:18,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1732559500] [2022-04-07 13:49:18,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:18,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:18,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:18,441 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:18,462 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 13:49:18,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:18,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-07 13:49:18,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:18,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:18,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {3457#true} call ULTIMATE.init(); {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {3457#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {3457#true} assume true; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3457#true} {3457#true} #108#return; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {3457#true} call #t~ret9 := main(); {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {3457#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {3457#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {3457#true} ~cond := #in~cond; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {3457#true} assume !(0 == ~cond); {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {3457#true} assume true; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3457#true} {3457#true} #94#return; {3457#true} is VALID [2022-04-07 13:49:18,896 INFO L272 TraceCheckUtils]: 11: Hoare triple {3457#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3457#true} is VALID [2022-04-07 13:49:18,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {3457#true} ~cond := #in~cond; {3498#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:49:18,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {3498#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3502#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:18,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {3502#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3502#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:18,898 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3502#(not (= |assume_abort_if_not_#in~cond| 0))} {3457#true} #96#return; {3509#(<= 1 main_~y~0)} is VALID [2022-04-07 13:49:18,898 INFO L290 TraceCheckUtils]: 16: Hoare triple {3509#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,900 INFO L290 TraceCheckUtils]: 18: Hoare triple {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,900 INFO L290 TraceCheckUtils]: 19: Hoare triple {3513#(and (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,901 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post7 < 100);havoc #t~post7; {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {3523#(and (<= main_~c~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,902 INFO L290 TraceCheckUtils]: 23: Hoare triple {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,902 INFO L290 TraceCheckUtils]: 24: Hoare triple {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post8 < 100);havoc #t~post8; {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,902 INFO L272 TraceCheckUtils]: 25: Hoare triple {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3457#true} is VALID [2022-04-07 13:49:18,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {3457#true} ~cond := #in~cond; {3457#true} is VALID [2022-04-07 13:49:18,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {3457#true} assume !(0 == ~cond); {3457#true} is VALID [2022-04-07 13:49:18,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {3457#true} assume true; {3457#true} is VALID [2022-04-07 13:49:18,904 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3457#true} {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #98#return; {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:49:18,905 INFO L272 TraceCheckUtils]: 30: Hoare triple {3533#(and (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3558#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:18,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {3558#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3562#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:18,905 INFO L290 TraceCheckUtils]: 32: Hoare triple {3562#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3458#false} is VALID [2022-04-07 13:49:18,905 INFO L290 TraceCheckUtils]: 33: Hoare triple {3458#false} assume !false; {3458#false} is VALID [2022-04-07 13:49:18,906 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:18,906 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:18,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:18,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [659892316] [2022-04-07 13:49:18,906 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:18,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1732559500] [2022-04-07 13:49:18,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1732559500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:18,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:18,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-07 13:49:18,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1388562091] [2022-04-07 13:49:18,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:18,907 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-04-07 13:49:18,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:18,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 13:49:18,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:18,940 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:49:18,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:18,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:49:18,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:49:18,941 INFO L87 Difference]: Start difference. First operand 132 states and 180 transitions. Second operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 13:49:19,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:19,737 INFO L93 Difference]: Finished difference Result 157 states and 210 transitions. [2022-04-07 13:49:19,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 13:49:19,737 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-04-07 13:49:19,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:19,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 13:49:19,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-07 13:49:19,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 13:49:19,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-07 13:49:19,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2022-04-07 13:49:19,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:19,832 INFO L225 Difference]: With dead ends: 157 [2022-04-07 13:49:19,832 INFO L226 Difference]: Without dead ends: 155 [2022-04-07 13:49:19,833 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-07 13:49:19,833 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 80 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 186 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 186 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:19,834 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 241 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 186 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:19,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-07 13:49:20,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 144. [2022-04-07 13:49:20,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:20,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:20,009 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:20,009 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:20,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:20,014 INFO L93 Difference]: Finished difference Result 155 states and 206 transitions. [2022-04-07 13:49:20,014 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 206 transitions. [2022-04-07 13:49:20,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:20,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:20,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 155 states. [2022-04-07 13:49:20,017 INFO L87 Difference]: Start difference. First operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 155 states. [2022-04-07 13:49:20,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:20,021 INFO L93 Difference]: Finished difference Result 155 states and 206 transitions. [2022-04-07 13:49:20,022 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 206 transitions. [2022-04-07 13:49:20,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:20,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:20,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:20,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:20,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 107 states have (on average 1.3177570093457944) internal successors, (141), 108 states have internal predecessors, (141), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 13:49:20,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 189 transitions. [2022-04-07 13:49:20,027 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 189 transitions. Word has length 34 [2022-04-07 13:49:20,027 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:20,027 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 189 transitions. [2022-04-07 13:49:20,027 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 13:49:20,028 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 189 transitions. [2022-04-07 13:49:20,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-07 13:49:20,028 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:20,028 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:20,050 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:20,242 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:20,242 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:20,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:20,242 INFO L85 PathProgramCache]: Analyzing trace with hash 1581560821, now seen corresponding path program 1 times [2022-04-07 13:49:20,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:20,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [648168773] [2022-04-07 13:49:20,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:20,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:20,258 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:20,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938843107] [2022-04-07 13:49:20,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:20,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:20,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:20,259 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:20,275 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 13:49:20,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:20,305 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-07 13:49:20,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:20,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:20,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {4310#true} call ULTIMATE.init(); {4310#true} is VALID [2022-04-07 13:49:20,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {4310#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4310#true} is VALID [2022-04-07 13:49:20,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {4310#true} assume true; {4310#true} is VALID [2022-04-07 13:49:20,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4310#true} {4310#true} #108#return; {4310#true} is VALID [2022-04-07 13:49:20,638 INFO L272 TraceCheckUtils]: 4: Hoare triple {4310#true} call #t~ret9 := main(); {4310#true} is VALID [2022-04-07 13:49:20,639 INFO L290 TraceCheckUtils]: 5: Hoare triple {4310#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4310#true} is VALID [2022-04-07 13:49:20,639 INFO L272 TraceCheckUtils]: 6: Hoare triple {4310#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4310#true} is VALID [2022-04-07 13:49:20,639 INFO L290 TraceCheckUtils]: 7: Hoare triple {4310#true} ~cond := #in~cond; {4336#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:49:20,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {4336#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4340#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:20,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {4340#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4340#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:49:20,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4340#(not (= |assume_abort_if_not_#in~cond| 0))} {4310#true} #94#return; {4347#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:20,641 INFO L272 TraceCheckUtils]: 11: Hoare triple {4347#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4310#true} is VALID [2022-04-07 13:49:20,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {4310#true} ~cond := #in~cond; {4310#true} is VALID [2022-04-07 13:49:20,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {4310#true} assume !(0 == ~cond); {4310#true} is VALID [2022-04-07 13:49:20,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {4310#true} assume true; {4310#true} is VALID [2022-04-07 13:49:20,642 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4310#true} {4347#(<= 1 main_~x~0)} #96#return; {4347#(<= 1 main_~x~0)} is VALID [2022-04-07 13:49:20,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {4347#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,645 INFO L290 TraceCheckUtils]: 21: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:49:20,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {4366#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,647 INFO L290 TraceCheckUtils]: 26: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,648 INFO L290 TraceCheckUtils]: 28: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post7 < 100);havoc #t~post7; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,649 INFO L290 TraceCheckUtils]: 29: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,649 INFO L290 TraceCheckUtils]: 30: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post8 < 100);havoc #t~post8; {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:20,650 INFO L272 TraceCheckUtils]: 32: Hoare triple {4388#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4416#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:20,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {4416#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4420#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:20,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {4420#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4311#false} is VALID [2022-04-07 13:49:20,651 INFO L290 TraceCheckUtils]: 35: Hoare triple {4311#false} assume !false; {4311#false} is VALID [2022-04-07 13:49:20,651 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 13:49:20,652 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:20,885 INFO L290 TraceCheckUtils]: 35: Hoare triple {4311#false} assume !false; {4311#false} is VALID [2022-04-07 13:49:20,885 INFO L290 TraceCheckUtils]: 34: Hoare triple {4420#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4311#false} is VALID [2022-04-07 13:49:20,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {4416#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4420#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:20,886 INFO L272 TraceCheckUtils]: 32: Hoare triple {4436#(= 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)); {4416#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:20,887 INFO L290 TraceCheckUtils]: 31: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post8 < 100);havoc #t~post8; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,887 INFO L290 TraceCheckUtils]: 30: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4436#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:20,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 16: Hoare triple {4310#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4464#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:20,894 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4310#true} {4310#true} #96#return; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {4310#true} assume true; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 13: Hoare triple {4310#true} assume !(0 == ~cond); {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 12: Hoare triple {4310#true} ~cond := #in~cond; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L272 TraceCheckUtils]: 11: Hoare triple {4310#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4310#true} {4310#true} #94#return; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {4310#true} assume true; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {4310#true} assume !(0 == ~cond); {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {4310#true} ~cond := #in~cond; {4310#true} is VALID [2022-04-07 13:49:20,894 INFO L272 TraceCheckUtils]: 6: Hoare triple {4310#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {4310#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {4310#true} call #t~ret9 := main(); {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4310#true} {4310#true} #108#return; {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {4310#true} assume true; {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {4310#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {4310#true} call ULTIMATE.init(); {4310#true} is VALID [2022-04-07 13:49:20,895 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:20,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:20,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [648168773] [2022-04-07 13:49:20,895 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:20,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938843107] [2022-04-07 13:49:20,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938843107] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:20,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:20,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-07 13:49:20,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344430949] [2022-04-07 13:49:20,896 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:20,897 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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 36 [2022-04-07 13:49:20,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:20,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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-07 13:49:20,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:20,949 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 13:49:20,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:20,949 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 13:49:20,949 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 13:49:20,950 INFO L87 Difference]: Start difference. First operand 144 states and 189 transitions. Second operand has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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-07 13:49:21,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:21,748 INFO L93 Difference]: Finished difference Result 179 states and 241 transitions. [2022-04-07 13:49:21,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 13:49:21,749 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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 36 [2022-04-07 13:49:21,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:21,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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-07 13:49:21,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-04-07 13:49:21,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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-07 13:49:21,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-04-07 13:49:21,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 99 transitions. [2022-04-07 13:49:21,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:21,832 INFO L225 Difference]: With dead ends: 179 [2022-04-07 13:49:21,833 INFO L226 Difference]: Without dead ends: 177 [2022-04-07 13:49:21,833 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-07 13:49:21,833 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 76 mSDsluCounter, 278 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 336 SdHoareTripleChecker+Invalid, 226 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:21,834 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 336 Invalid, 226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 206 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:21,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-07 13:49:22,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 174. [2022-04-07 13:49:22,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:22,040 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:22,040 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:22,041 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:22,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:22,046 INFO L93 Difference]: Finished difference Result 177 states and 239 transitions. [2022-04-07 13:49:22,047 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 239 transitions. [2022-04-07 13:49:22,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:22,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:22,048 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 177 states. [2022-04-07 13:49:22,048 INFO L87 Difference]: Start difference. First operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 177 states. [2022-04-07 13:49:22,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:22,053 INFO L93 Difference]: Finished difference Result 177 states and 239 transitions. [2022-04-07 13:49:22,054 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 239 transitions. [2022-04-07 13:49:22,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:22,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:22,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:22,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:22,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 128 states have (on average 1.34375) internal successors, (172), 129 states have internal predecessors, (172), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:22,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 236 transitions. [2022-04-07 13:49:22,059 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 236 transitions. Word has length 36 [2022-04-07 13:49:22,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:22,060 INFO L478 AbstractCegarLoop]: Abstraction has 174 states and 236 transitions. [2022-04-07 13:49:22,060 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 4.0) internal successors, (44), 9 states have internal predecessors, (44), 4 states have call successors, (7), 2 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-07 13:49:22,060 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 236 transitions. [2022-04-07 13:49:22,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-07 13:49:22,060 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:22,061 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:22,083 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:22,283 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 13:49:22,283 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:22,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:22,283 INFO L85 PathProgramCache]: Analyzing trace with hash -892181054, now seen corresponding path program 1 times [2022-04-07 13:49:22,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:22,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1681210746] [2022-04-07 13:49:22,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:22,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:22,300 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:22,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [255495607] [2022-04-07 13:49:22,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:22,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:22,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:22,301 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:22,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 13:49:22,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:22,342 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:49:22,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:22,351 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:22,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {5394#true} call ULTIMATE.init(); {5394#true} is VALID [2022-04-07 13:49:22,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {5394#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {5402#(<= ~counter~0 0)} assume true; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5402#(<= ~counter~0 0)} {5394#true} #108#return; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {5402#(<= ~counter~0 0)} call #t~ret9 := main(); {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {5402#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,529 INFO L272 TraceCheckUtils]: 6: Hoare triple {5402#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {5402#(<= ~counter~0 0)} ~cond := #in~cond; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {5402#(<= ~counter~0 0)} assume !(0 == ~cond); {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {5402#(<= ~counter~0 0)} assume true; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,531 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5402#(<= ~counter~0 0)} {5402#(<= ~counter~0 0)} #94#return; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,532 INFO L272 TraceCheckUtils]: 11: Hoare triple {5402#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {5402#(<= ~counter~0 0)} ~cond := #in~cond; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {5402#(<= ~counter~0 0)} assume !(0 == ~cond); {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {5402#(<= ~counter~0 0)} assume true; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,533 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5402#(<= ~counter~0 0)} {5402#(<= ~counter~0 0)} #96#return; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {5402#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5402#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:22,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {5402#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5451#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:22,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {5451#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {5451#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:22,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {5451#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5451#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:22,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {5451#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5461#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:22,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {5461#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {5461#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:22,536 INFO L290 TraceCheckUtils]: 22: Hoare triple {5461#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5461#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:22,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {5461#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5471#(<= |main_#t~post8| 2)} is VALID [2022-04-07 13:49:22,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {5471#(<= |main_#t~post8| 2)} assume !(#t~post8 < 100);havoc #t~post8; {5395#false} is VALID [2022-04-07 13:49:22,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {5395#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5395#false} is VALID [2022-04-07 13:49:22,536 INFO L290 TraceCheckUtils]: 26: Hoare triple {5395#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {5395#false} assume !(#t~post7 < 100);havoc #t~post7; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {5395#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 29: Hoare triple {5395#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {5395#false} assume !!(#t~post6 < 100);havoc #t~post6; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {5395#false} assume !(0 != ~b~0); {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L272 TraceCheckUtils]: 32: Hoare triple {5395#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {5395#false} ~cond := #in~cond; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 34: Hoare triple {5395#false} assume 0 == ~cond; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {5395#false} assume !false; {5395#false} is VALID [2022-04-07 13:49:22,537 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:22,537 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:22,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:22,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1681210746] [2022-04-07 13:49:22,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:22,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [255495607] [2022-04-07 13:49:22,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [255495607] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:22,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:22,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 13:49:22,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1172191316] [2022-04-07 13:49:22,538 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:22,539 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 36 [2022-04-07 13:49:22,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:22,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:22,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:22,562 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 13:49:22,562 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:22,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 13:49:22,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:49:22,563 INFO L87 Difference]: Start difference. First operand 174 states and 236 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:22,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:22,882 INFO L93 Difference]: Finished difference Result 241 states and 329 transitions. [2022-04-07 13:49:22,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:49:22,883 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 36 [2022-04-07 13:49:22,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:22,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:22,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2022-04-07 13:49:22,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:22,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2022-04-07 13:49:22,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 88 transitions. [2022-04-07 13:49:22,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:22,957 INFO L225 Difference]: With dead ends: 241 [2022-04-07 13:49:22,957 INFO L226 Difference]: Without dead ends: 174 [2022-04-07 13:49:22,960 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:49:22,961 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:22,962 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 139 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:49:22,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-07 13:49:23,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 174. [2022-04-07 13:49:23,192 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:23,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:23,192 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:23,193 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:23,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:23,197 INFO L93 Difference]: Finished difference Result 174 states and 235 transitions. [2022-04-07 13:49:23,197 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 235 transitions. [2022-04-07 13:49:23,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:23,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:23,198 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 174 states. [2022-04-07 13:49:23,198 INFO L87 Difference]: Start difference. First operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) Second operand 174 states. [2022-04-07 13:49:23,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:23,203 INFO L93 Difference]: Finished difference Result 174 states and 235 transitions. [2022-04-07 13:49:23,203 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 235 transitions. [2022-04-07 13:49:23,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:23,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:23,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:23,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:23,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 128 states have (on average 1.3359375) internal successors, (171), 129 states have internal predecessors, (171), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 31 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-07 13:49:23,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 235 transitions. [2022-04-07 13:49:23,208 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 235 transitions. Word has length 36 [2022-04-07 13:49:23,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:23,208 INFO L478 AbstractCegarLoop]: Abstraction has 174 states and 235 transitions. [2022-04-07 13:49:23,209 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 13:49:23,209 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 235 transitions. [2022-04-07 13:49:23,209 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 13:49:23,209 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:23,209 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:23,234 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:23,423 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 13:49:23,423 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:23,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:23,424 INFO L85 PathProgramCache]: Analyzing trace with hash -957710478, now seen corresponding path program 1 times [2022-04-07 13:49:23,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:23,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890448426] [2022-04-07 13:49:23,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:23,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:23,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:23,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [82092471] [2022-04-07 13:49:23,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:23,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:23,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:23,452 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:23,453 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-07 13:49:23,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:23,494 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:49:23,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:23,503 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:23,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {6441#true} call ULTIMATE.init(); {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {6441#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {6441#true} assume true; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6441#true} {6441#true} #108#return; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {6441#true} call #t~ret9 := main(); {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {6441#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L272 TraceCheckUtils]: 6: Hoare triple {6441#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {6441#true} ~cond := #in~cond; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {6441#true} assume !(0 == ~cond); {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {6441#true} assume true; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6441#true} {6441#true} #94#return; {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L272 TraceCheckUtils]: 11: Hoare triple {6441#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6441#true} is VALID [2022-04-07 13:49:23,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {6441#true} ~cond := #in~cond; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {6441#true} assume !(0 == ~cond); {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {6441#true} assume true; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6441#true} {6441#true} #96#return; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {6441#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 17: Hoare triple {6441#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 18: Hoare triple {6441#true} assume !!(#t~post6 < 100);havoc #t~post6; {6441#true} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {6441#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,631 INFO L290 TraceCheckUtils]: 21: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,632 INFO L290 TraceCheckUtils]: 24: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post8 < 100);havoc #t~post8; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,632 INFO L272 TraceCheckUtils]: 25: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6441#true} is VALID [2022-04-07 13:49:23,632 INFO L290 TraceCheckUtils]: 26: Hoare triple {6441#true} ~cond := #in~cond; {6441#true} is VALID [2022-04-07 13:49:23,632 INFO L290 TraceCheckUtils]: 27: Hoare triple {6441#true} assume !(0 == ~cond); {6441#true} is VALID [2022-04-07 13:49:23,632 INFO L290 TraceCheckUtils]: 28: Hoare triple {6441#true} assume true; {6441#true} is VALID [2022-04-07 13:49:23,633 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6441#true} {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #98#return; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,633 INFO L272 TraceCheckUtils]: 30: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6441#true} is VALID [2022-04-07 13:49:23,633 INFO L290 TraceCheckUtils]: 31: Hoare triple {6441#true} ~cond := #in~cond; {6441#true} is VALID [2022-04-07 13:49:23,633 INFO L290 TraceCheckUtils]: 32: Hoare triple {6441#true} assume !(0 == ~cond); {6441#true} is VALID [2022-04-07 13:49:23,633 INFO L290 TraceCheckUtils]: 33: Hoare triple {6441#true} assume true; {6441#true} is VALID [2022-04-07 13:49:23,634 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6441#true} {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #100#return; {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 13:49:23,635 INFO L272 TraceCheckUtils]: 35: Hoare triple {6503#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6552#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:23,636 INFO L290 TraceCheckUtils]: 36: Hoare triple {6552#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6556#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:23,636 INFO L290 TraceCheckUtils]: 37: Hoare triple {6556#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6442#false} is VALID [2022-04-07 13:49:23,636 INFO L290 TraceCheckUtils]: 38: Hoare triple {6442#false} assume !false; {6442#false} is VALID [2022-04-07 13:49:23,636 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-07 13:49:23,636 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:23,636 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:23,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890448426] [2022-04-07 13:49:23,637 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:23,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [82092471] [2022-04-07 13:49:23,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [82092471] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:23,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:23,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:49:23,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1513434877] [2022-04-07 13:49:23,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:23,637 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-07 13:49:23,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:23,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:49:23,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:23,659 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:49:23,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:23,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:49:23,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:49:23,659 INFO L87 Difference]: Start difference. First operand 174 states and 235 transitions. Second operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:49:24,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:24,067 INFO L93 Difference]: Finished difference Result 239 states and 335 transitions. [2022-04-07 13:49:24,068 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:49:24,068 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-07 13:49:24,068 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:24,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:49:24,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-04-07 13:49:24,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:49:24,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-04-07 13:49:24,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-04-07 13:49:24,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:24,139 INFO L225 Difference]: With dead ends: 239 [2022-04-07 13:49:24,139 INFO L226 Difference]: Without dead ends: 237 [2022-04-07 13:49:24,139 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:49:24,140 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 10 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:24,140 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 150 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:49:24,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-07 13:49:24,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 230. [2022-04-07 13:49:24,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:24,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 237 states. Second operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-07 13:49:24,451 INFO L74 IsIncluded]: Start isIncluded. First operand 237 states. Second operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-07 13:49:24,451 INFO L87 Difference]: Start difference. First operand 237 states. Second operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-07 13:49:24,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:24,459 INFO L93 Difference]: Finished difference Result 237 states and 331 transitions. [2022-04-07 13:49:24,459 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 331 transitions. [2022-04-07 13:49:24,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:24,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:24,460 INFO L74 IsIncluded]: Start isIncluded. First operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 237 states. [2022-04-07 13:49:24,460 INFO L87 Difference]: Start difference. First operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 237 states. [2022-04-07 13:49:24,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:24,470 INFO L93 Difference]: Finished difference Result 237 states and 331 transitions. [2022-04-07 13:49:24,470 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 331 transitions. [2022-04-07 13:49:24,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:24,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:24,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:24,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:24,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 161 states have (on average 1.3664596273291925) internal successors, (220), 162 states have internal predecessors, (220), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-07 13:49:24,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 324 transitions. [2022-04-07 13:49:24,478 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 324 transitions. Word has length 39 [2022-04-07 13:49:24,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:24,478 INFO L478 AbstractCegarLoop]: Abstraction has 230 states and 324 transitions. [2022-04-07 13:49:24,478 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:49:24,478 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 324 transitions. [2022-04-07 13:49:24,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-07 13:49:24,479 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:24,479 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:24,504 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-07 13:49:24,701 WARN L460 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-07 13:49:24,701 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:24,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:24,701 INFO L85 PathProgramCache]: Analyzing trace with hash 409018142, now seen corresponding path program 1 times [2022-04-07 13:49:24,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:24,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400011893] [2022-04-07 13:49:24,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:24,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:24,717 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:24,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [284685641] [2022-04-07 13:49:24,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:24,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:24,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:24,718 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:24,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-07 13:49:24,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:24,768 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-07 13:49:24,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:24,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:25,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {7713#true} call ULTIMATE.init(); {7713#true} is VALID [2022-04-07 13:49:25,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {7713#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7713#true} {7713#true} #108#return; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L272 TraceCheckUtils]: 4: Hoare triple {7713#true} call #t~ret9 := main(); {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 5: Hoare triple {7713#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L272 TraceCheckUtils]: 6: Hoare triple {7713#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 7: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7713#true} {7713#true} #94#return; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L272 TraceCheckUtils]: 11: Hoare triple {7713#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:25,073 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7713#true} {7713#true} #96#return; {7713#true} is VALID [2022-04-07 13:49:25,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {7713#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,074 INFO L290 TraceCheckUtils]: 17: Hoare triple {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {7766#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,076 INFO L290 TraceCheckUtils]: 21: Hoare triple {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:25,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {7776#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,079 INFO L272 TraceCheckUtils]: 32: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7713#true} is VALID [2022-04-07 13:49:25,079 INFO L290 TraceCheckUtils]: 33: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:25,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:25,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:25,080 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7713#true} {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #98#return; {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:49:25,081 INFO L272 TraceCheckUtils]: 37: Hoare triple {7789#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7832#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:25,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {7832#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7836#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:25,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {7836#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7714#false} is VALID [2022-04-07 13:49:25,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {7714#false} assume !false; {7714#false} is VALID [2022-04-07 13:49:25,081 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:25,081 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:25,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {7714#false} assume !false; {7714#false} is VALID [2022-04-07 13:49:25,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {7836#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7714#false} is VALID [2022-04-07 13:49:25,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {7832#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7836#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:25,292 INFO L272 TraceCheckUtils]: 37: Hoare triple {7852#(= 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)); {7832#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:25,293 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7713#true} {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #98#return; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,293 INFO L290 TraceCheckUtils]: 35: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:25,293 INFO L290 TraceCheckUtils]: 34: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:25,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:25,293 INFO L272 TraceCheckUtils]: 32: Hoare triple {7852#(= 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)); {7713#true} is VALID [2022-04-07 13:49:25,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post8 < 100);havoc #t~post8; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,295 INFO L290 TraceCheckUtils]: 28: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,295 INFO L290 TraceCheckUtils]: 26: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,296 INFO L290 TraceCheckUtils]: 25: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:25,296 INFO L290 TraceCheckUtils]: 24: Hoare triple {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:26,319 INFO L290 TraceCheckUtils]: 23: Hoare triple {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7852#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:49:26,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:49:26,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:49:26,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:49:26,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7895#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:49:26,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:26,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 16: Hoare triple {7713#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7908#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:49:26,323 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7713#true} {7713#true} #96#return; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L272 TraceCheckUtils]: 11: Hoare triple {7713#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7713#true} {7713#true} #94#return; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {7713#true} assume !(0 == ~cond); {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {7713#true} ~cond := #in~cond; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {7713#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {7713#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {7713#true} call #t~ret9 := main(); {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7713#true} {7713#true} #108#return; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {7713#true} assume true; {7713#true} is VALID [2022-04-07 13:49:26,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {7713#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7713#true} is VALID [2022-04-07 13:49:26,324 INFO L272 TraceCheckUtils]: 0: Hoare triple {7713#true} call ULTIMATE.init(); {7713#true} is VALID [2022-04-07 13:49:26,324 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:26,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:26,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400011893] [2022-04-07 13:49:26,324 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:26,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [284685641] [2022-04-07 13:49:26,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [284685641] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:26,324 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:26,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-07 13:49:26,324 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2002117711] [2022-04-07 13:49:26,324 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:26,325 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-07 13:49:26,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:26,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 13:49:26,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:26,442 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:49:26,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:26,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:49:26,442 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:49:26,443 INFO L87 Difference]: Start difference. First operand 230 states and 324 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 13:49:28,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:28,644 INFO L93 Difference]: Finished difference Result 392 states and 578 transitions. [2022-04-07 13:49:28,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 13:49:28,644 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-07 13:49:28,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:28,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 13:49:28,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 252 transitions. [2022-04-07 13:49:28,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 13:49:28,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 252 transitions. [2022-04-07 13:49:28,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 252 transitions. [2022-04-07 13:49:29,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 252 edges. 252 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:29,270 INFO L225 Difference]: With dead ends: 392 [2022-04-07 13:49:29,270 INFO L226 Difference]: Without dead ends: 390 [2022-04-07 13:49:29,270 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=72, Invalid=234, Unknown=0, NotChecked=0, Total=306 [2022-04-07 13:49:29,271 INFO L913 BasicCegarLoop]: 66 mSDtfsCounter, 157 mSDsluCounter, 268 mSDsCounter, 0 mSdLazyCounter, 346 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 164 SdHoareTripleChecker+Valid, 334 SdHoareTripleChecker+Invalid, 435 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 89 IncrementalHoareTripleChecker+Valid, 346 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:29,271 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [164 Valid, 334 Invalid, 435 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 346 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 13:49:29,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-07 13:49:29,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 377. [2022-04-07 13:49:29,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:29,768 INFO L82 GeneralOperation]: Start isEquivalent. First operand 390 states. Second operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) [2022-04-07 13:49:29,768 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) [2022-04-07 13:49:29,769 INFO L87 Difference]: Start difference. First operand 390 states. Second operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) [2022-04-07 13:49:29,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:29,783 INFO L93 Difference]: Finished difference Result 390 states and 576 transitions. [2022-04-07 13:49:29,783 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 576 transitions. [2022-04-07 13:49:29,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:29,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:29,785 INFO L74 IsIncluded]: Start isIncluded. First operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) Second operand 390 states. [2022-04-07 13:49:29,786 INFO L87 Difference]: Start difference. First operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) Second operand 390 states. [2022-04-07 13:49:29,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:29,800 INFO L93 Difference]: Finished difference Result 390 states and 576 transitions. [2022-04-07 13:49:29,800 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 576 transitions. [2022-04-07 13:49:29,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:29,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:29,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:29,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:29,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 377 states, 266 states have (on average 1.4248120300751879) internal successors, (379), 267 states have internal predecessors, (379), 93 states have call successors, (93), 18 states have call predecessors, (93), 17 states have return successors, (91), 91 states have call predecessors, (91), 91 states have call successors, (91) [2022-04-07 13:49:29,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 377 states to 377 states and 563 transitions. [2022-04-07 13:49:29,817 INFO L78 Accepts]: Start accepts. Automaton has 377 states and 563 transitions. Word has length 41 [2022-04-07 13:49:29,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:29,817 INFO L478 AbstractCegarLoop]: Abstraction has 377 states and 563 transitions. [2022-04-07 13:49:29,817 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 3 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 13:49:29,817 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 563 transitions. [2022-04-07 13:49:29,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-07 13:49:29,818 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:29,818 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:29,842 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:30,032 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-07 13:49:30,032 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:30,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:30,032 INFO L85 PathProgramCache]: Analyzing trace with hash -1943393983, now seen corresponding path program 1 times [2022-04-07 13:49:30,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:30,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1423525899] [2022-04-07 13:49:30,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:30,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:30,050 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:30,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [638194790] [2022-04-07 13:49:30,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:30,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:30,051 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:30,053 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:30,054 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-07 13:49:30,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:30,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:49:30,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:30,113 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:30,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {9884#true} call ULTIMATE.init(); {9884#true} is VALID [2022-04-07 13:49:30,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {9884#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9884#true} is VALID [2022-04-07 13:49:30,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9884#true} {9884#true} #108#return; {9884#true} is VALID [2022-04-07 13:49:30,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {9884#true} call #t~ret9 := main(); {9884#true} is VALID [2022-04-07 13:49:30,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {9884#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L272 TraceCheckUtils]: 6: Hoare triple {9884#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9884#true} {9884#true} #94#return; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L272 TraceCheckUtils]: 11: Hoare triple {9884#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 12: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9884#true} {9884#true} #96#return; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {9884#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {9884#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9884#true} is VALID [2022-04-07 13:49:30,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {9884#true} assume !!(#t~post6 < 100);havoc #t~post6; {9884#true} is VALID [2022-04-07 13:49:30,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {9884#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {9884#true} is VALID [2022-04-07 13:49:30,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {9884#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9884#true} is VALID [2022-04-07 13:49:30,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {9884#true} assume !!(#t~post7 < 100);havoc #t~post7; {9884#true} is VALID [2022-04-07 13:49:30,233 INFO L290 TraceCheckUtils]: 22: Hoare triple {9884#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,234 INFO L272 TraceCheckUtils]: 25: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9884#true} is VALID [2022-04-07 13:49:30,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-07 13:49:30,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-07 13:49:30,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,235 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {9884#true} {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #98#return; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,235 INFO L272 TraceCheckUtils]: 30: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9884#true} is VALID [2022-04-07 13:49:30,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-07 13:49:30,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-07 13:49:30,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,236 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9884#true} {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #100#return; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,236 INFO L272 TraceCheckUtils]: 35: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9884#true} is VALID [2022-04-07 13:49:30,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-07 13:49:30,236 INFO L290 TraceCheckUtils]: 37: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-07 13:49:30,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-07 13:49:30,237 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9884#true} {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 13:49:30,237 INFO L272 TraceCheckUtils]: 40: Hoare triple {9955#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:30,237 INFO L290 TraceCheckUtils]: 41: Hoare triple {10010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:30,238 INFO L290 TraceCheckUtils]: 42: Hoare triple {10014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9885#false} is VALID [2022-04-07 13:49:30,238 INFO L290 TraceCheckUtils]: 43: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-07 13:49:30,238 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 13:49:30,238 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:30,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:30,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1423525899] [2022-04-07 13:49:30,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:30,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [638194790] [2022-04-07 13:49:30,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [638194790] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:30,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:30,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:49:30,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1193373973] [2022-04-07 13:49:30,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:30,239 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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 44 [2022-04-07 13:49:30,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:30,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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-07 13:49:30,265 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-07 13:49:30,265 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:49:30,265 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:30,265 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:49:30,265 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:49:30,266 INFO L87 Difference]: Start difference. First operand 377 states and 563 transitions. Second operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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-07 13:49:31,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:31,322 INFO L93 Difference]: Finished difference Result 566 states and 887 transitions. [2022-04-07 13:49:31,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:49:31,322 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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 44 [2022-04-07 13:49:31,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:31,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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-07 13:49:31,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-04-07 13:49:31,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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-07 13:49:31,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-04-07 13:49:31,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-04-07 13:49:31,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:31,405 INFO L225 Difference]: With dead ends: 566 [2022-04-07 13:49:31,405 INFO L226 Difference]: Without dead ends: 564 [2022-04-07 13:49:31,417 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:49:31,419 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 12 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:31,419 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 166 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:49:31,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 564 states. [2022-04-07 13:49:32,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 564 to 495. [2022-04-07 13:49:32,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:32,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 564 states. Second operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) [2022-04-07 13:49:32,188 INFO L74 IsIncluded]: Start isIncluded. First operand 564 states. Second operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) [2022-04-07 13:49:32,188 INFO L87 Difference]: Start difference. First operand 564 states. Second operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) [2022-04-07 13:49:32,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:32,214 INFO L93 Difference]: Finished difference Result 564 states and 884 transitions. [2022-04-07 13:49:32,214 INFO L276 IsEmpty]: Start isEmpty. Operand 564 states and 884 transitions. [2022-04-07 13:49:32,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:32,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:32,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) Second operand 564 states. [2022-04-07 13:49:32,218 INFO L87 Difference]: Start difference. First operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) Second operand 564 states. [2022-04-07 13:49:32,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:32,243 INFO L93 Difference]: Finished difference Result 564 states and 884 transitions. [2022-04-07 13:49:32,243 INFO L276 IsEmpty]: Start isEmpty. Operand 564 states and 884 transitions. [2022-04-07 13:49:32,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:32,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:32,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:32,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:32,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 495 states, 307 states have (on average 1.4267100977198697) internal successors, (438), 327 states have internal predecessors, (438), 169 states have call successors, (169), 19 states have call predecessors, (169), 18 states have return successors, (167), 148 states have call predecessors, (167), 167 states have call successors, (167) [2022-04-07 13:49:32,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 495 states to 495 states and 774 transitions. [2022-04-07 13:49:32,274 INFO L78 Accepts]: Start accepts. Automaton has 495 states and 774 transitions. Word has length 44 [2022-04-07 13:49:32,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:32,274 INFO L478 AbstractCegarLoop]: Abstraction has 495 states and 774 transitions. [2022-04-07 13:49:32,274 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 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-07 13:49:32,274 INFO L276 IsEmpty]: Start isEmpty. Operand 495 states and 774 transitions. [2022-04-07 13:49:32,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-07 13:49:32,275 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:32,275 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:32,298 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:32,497 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-07 13:49:32,497 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:32,498 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:32,498 INFO L85 PathProgramCache]: Analyzing trace with hash -1018638220, now seen corresponding path program 1 times [2022-04-07 13:49:32,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:32,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1720598442] [2022-04-07 13:49:32,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:32,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:32,516 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:32,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1880945655] [2022-04-07 13:49:32,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:32,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:32,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:32,526 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:32,560 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-07 13:49:32,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:32,591 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 13:49:32,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:32,608 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:32,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {12762#true} call ULTIMATE.init(); {12762#true} is VALID [2022-04-07 13:49:32,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {12762#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {12770#(<= ~counter~0 0)} assume true; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12770#(<= ~counter~0 0)} {12762#true} #108#return; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,813 INFO L272 TraceCheckUtils]: 4: Hoare triple {12770#(<= ~counter~0 0)} call #t~ret9 := main(); {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,813 INFO L290 TraceCheckUtils]: 5: Hoare triple {12770#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,813 INFO L272 TraceCheckUtils]: 6: Hoare triple {12770#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {12770#(<= ~counter~0 0)} ~cond := #in~cond; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {12770#(<= ~counter~0 0)} assume !(0 == ~cond); {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {12770#(<= ~counter~0 0)} assume true; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12770#(<= ~counter~0 0)} {12770#(<= ~counter~0 0)} #94#return; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,815 INFO L272 TraceCheckUtils]: 11: Hoare triple {12770#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {12770#(<= ~counter~0 0)} ~cond := #in~cond; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {12770#(<= ~counter~0 0)} assume !(0 == ~cond); {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {12770#(<= ~counter~0 0)} assume true; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,817 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12770#(<= ~counter~0 0)} {12770#(<= ~counter~0 0)} #96#return; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {12770#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12770#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:32,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {12770#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12819#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:32,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {12819#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {12819#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:32,819 INFO L290 TraceCheckUtils]: 19: Hoare triple {12819#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12819#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:32,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {12819#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12829#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:32,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {12829#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {12829#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:32,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {12829#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {12829#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:32,820 INFO L290 TraceCheckUtils]: 23: Hoare triple {12829#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12829#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:32,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {12829#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12842#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:32,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {12842#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {12842#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:32,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {12842#(<= ~counter~0 3)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12842#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:32,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {12842#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12852#(<= |main_#t~post7| 3)} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 28: Hoare triple {12852#(<= |main_#t~post7| 3)} assume !(#t~post7 < 100);havoc #t~post7; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 29: Hoare triple {12763#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 30: Hoare triple {12763#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 31: Hoare triple {12763#false} assume !!(#t~post6 < 100);havoc #t~post6; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 32: Hoare triple {12763#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 33: Hoare triple {12763#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 34: Hoare triple {12763#false} assume !(#t~post7 < 100);havoc #t~post7; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 35: Hoare triple {12763#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 36: Hoare triple {12763#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 37: Hoare triple {12763#false} assume !(#t~post6 < 100);havoc #t~post6; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L272 TraceCheckUtils]: 38: Hoare triple {12763#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 39: Hoare triple {12763#false} ~cond := #in~cond; {12763#false} is VALID [2022-04-07 13:49:32,823 INFO L290 TraceCheckUtils]: 40: Hoare triple {12763#false} assume 0 == ~cond; {12763#false} is VALID [2022-04-07 13:49:32,824 INFO L290 TraceCheckUtils]: 41: Hoare triple {12763#false} assume !false; {12763#false} is VALID [2022-04-07 13:49:32,824 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-07 13:49:32,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:33,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {12763#false} assume !false; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {12763#false} assume 0 == ~cond; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {12763#false} ~cond := #in~cond; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L272 TraceCheckUtils]: 38: Hoare triple {12763#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 37: Hoare triple {12763#false} assume !(#t~post6 < 100);havoc #t~post6; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 36: Hoare triple {12763#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {12763#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {12763#false} assume !(#t~post7 < 100);havoc #t~post7; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 33: Hoare triple {12763#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12763#false} is VALID [2022-04-07 13:49:33,062 INFO L290 TraceCheckUtils]: 32: Hoare triple {12763#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12763#false} is VALID [2022-04-07 13:49:33,063 INFO L290 TraceCheckUtils]: 31: Hoare triple {12763#false} assume !!(#t~post6 < 100);havoc #t~post6; {12763#false} is VALID [2022-04-07 13:49:33,064 INFO L290 TraceCheckUtils]: 30: Hoare triple {12763#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12763#false} is VALID [2022-04-07 13:49:33,064 INFO L290 TraceCheckUtils]: 29: Hoare triple {12763#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12763#false} is VALID [2022-04-07 13:49:33,067 INFO L290 TraceCheckUtils]: 28: Hoare triple {12934#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {12763#false} is VALID [2022-04-07 13:49:33,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {12938#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12934#(< |main_#t~post7| 100)} is VALID [2022-04-07 13:49:33,068 INFO L290 TraceCheckUtils]: 26: Hoare triple {12938#(< ~counter~0 100)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12938#(< ~counter~0 100)} is VALID [2022-04-07 13:49:33,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {12938#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {12938#(< ~counter~0 100)} is VALID [2022-04-07 13:49:33,069 INFO L290 TraceCheckUtils]: 24: Hoare triple {12948#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12938#(< ~counter~0 100)} is VALID [2022-04-07 13:49:33,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {12948#(< ~counter~0 99)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12948#(< ~counter~0 99)} is VALID [2022-04-07 13:49:33,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {12948#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {12948#(< ~counter~0 99)} is VALID [2022-04-07 13:49:33,070 INFO L290 TraceCheckUtils]: 21: Hoare triple {12948#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {12948#(< ~counter~0 99)} is VALID [2022-04-07 13:49:33,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {12961#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12948#(< ~counter~0 99)} is VALID [2022-04-07 13:49:33,071 INFO L290 TraceCheckUtils]: 19: Hoare triple {12961#(< ~counter~0 98)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12961#(< ~counter~0 98)} is VALID [2022-04-07 13:49:33,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {12961#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {12961#(< ~counter~0 98)} is VALID [2022-04-07 13:49:33,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {12971#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12961#(< ~counter~0 98)} is VALID [2022-04-07 13:49:33,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {12971#(< ~counter~0 97)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,073 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12762#true} {12971#(< ~counter~0 97)} #96#return; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {12762#true} assume true; {12762#true} is VALID [2022-04-07 13:49:33,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {12762#true} assume !(0 == ~cond); {12762#true} is VALID [2022-04-07 13:49:33,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {12762#true} ~cond := #in~cond; {12762#true} is VALID [2022-04-07 13:49:33,073 INFO L272 TraceCheckUtils]: 11: Hoare triple {12971#(< ~counter~0 97)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12762#true} is VALID [2022-04-07 13:49:33,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12762#true} {12971#(< ~counter~0 97)} #94#return; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {12762#true} assume true; {12762#true} is VALID [2022-04-07 13:49:33,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {12762#true} assume !(0 == ~cond); {12762#true} is VALID [2022-04-07 13:49:33,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {12762#true} ~cond := #in~cond; {12762#true} is VALID [2022-04-07 13:49:33,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {12971#(< ~counter~0 97)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12762#true} is VALID [2022-04-07 13:49:33,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {12971#(< ~counter~0 97)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {12971#(< ~counter~0 97)} call #t~ret9 := main(); {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12971#(< ~counter~0 97)} {12762#true} #108#return; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {12971#(< ~counter~0 97)} assume true; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {12762#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12971#(< ~counter~0 97)} is VALID [2022-04-07 13:49:33,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {12762#true} call ULTIMATE.init(); {12762#true} is VALID [2022-04-07 13:49:33,076 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-07 13:49:33,076 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:33,076 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1720598442] [2022-04-07 13:49:33,076 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:33,076 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1880945655] [2022-04-07 13:49:33,076 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1880945655] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:33,076 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:33,077 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 13:49:33,077 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [264315303] [2022-04-07 13:49:33,077 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:33,077 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-07 13:49:33,077 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:33,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:33,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:33,125 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 13:49:33,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:33,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 13:49:33,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-07 13:49:33,126 INFO L87 Difference]: Start difference. First operand 495 states and 774 transitions. Second operand has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:35,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:35,070 INFO L93 Difference]: Finished difference Result 1127 states and 1721 transitions. [2022-04-07 13:49:35,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 13:49:35,070 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-07 13:49:35,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:35,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:35,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 224 transitions. [2022-04-07 13:49:35,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:35,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 224 transitions. [2022-04-07 13:49:35,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 224 transitions. [2022-04-07 13:49:35,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 224 edges. 224 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:35,302 INFO L225 Difference]: With dead ends: 1127 [2022-04-07 13:49:35,302 INFO L226 Difference]: Without dead ends: 770 [2022-04-07 13:49:35,304 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=179, Unknown=0, NotChecked=0, Total=272 [2022-04-07 13:49:35,304 INFO L913 BasicCegarLoop]: 69 mSDtfsCounter, 156 mSDsluCounter, 321 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 62 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 156 SdHoareTripleChecker+Valid, 390 SdHoareTripleChecker+Invalid, 236 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 62 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:35,305 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [156 Valid, 390 Invalid, 236 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [62 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:35,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 770 states. [2022-04-07 13:49:36,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 770 to 736. [2022-04-07 13:49:36,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:36,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 770 states. Second operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) [2022-04-07 13:49:36,424 INFO L74 IsIncluded]: Start isIncluded. First operand 770 states. Second operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) [2022-04-07 13:49:36,425 INFO L87 Difference]: Start difference. First operand 770 states. Second operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) [2022-04-07 13:49:36,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:36,477 INFO L93 Difference]: Finished difference Result 770 states and 1118 transitions. [2022-04-07 13:49:36,477 INFO L276 IsEmpty]: Start isEmpty. Operand 770 states and 1118 transitions. [2022-04-07 13:49:36,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:36,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:36,482 INFO L74 IsIncluded]: Start isIncluded. First operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) Second operand 770 states. [2022-04-07 13:49:36,483 INFO L87 Difference]: Start difference. First operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) Second operand 770 states. [2022-04-07 13:49:36,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:36,523 INFO L93 Difference]: Finished difference Result 770 states and 1118 transitions. [2022-04-07 13:49:36,523 INFO L276 IsEmpty]: Start isEmpty. Operand 770 states and 1118 transitions. [2022-04-07 13:49:36,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:36,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:36,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:36,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:36,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 736 states, 471 states have (on average 1.3630573248407643) internal successors, (642), 495 states have internal predecessors, (642), 224 states have call successors, (224), 41 states have call predecessors, (224), 40 states have return successors, (219), 199 states have call predecessors, (219), 219 states have call successors, (219) [2022-04-07 13:49:36,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 736 states to 736 states and 1085 transitions. [2022-04-07 13:49:36,574 INFO L78 Accepts]: Start accepts. Automaton has 736 states and 1085 transitions. Word has length 42 [2022-04-07 13:49:36,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:36,574 INFO L478 AbstractCegarLoop]: Abstraction has 736 states and 1085 transitions. [2022-04-07 13:49:36,574 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.0) internal successors, (48), 12 states have internal predecessors, (48), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:36,574 INFO L276 IsEmpty]: Start isEmpty. Operand 736 states and 1085 transitions. [2022-04-07 13:49:36,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-07 13:49:36,575 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:36,575 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:36,598 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:36,789 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-07 13:49:36,790 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:36,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:36,790 INFO L85 PathProgramCache]: Analyzing trace with hash -2064241646, now seen corresponding path program 1 times [2022-04-07 13:49:36,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:36,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621855833] [2022-04-07 13:49:36,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:36,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:36,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:36,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2032773356] [2022-04-07 13:49:36,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:36,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:36,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:36,809 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:36,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-07 13:49:36,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:36,862 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 13:49:36,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:36,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:37,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {17410#true} call ULTIMATE.init(); {17410#true} is VALID [2022-04-07 13:49:37,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {17410#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {17418#(<= ~counter~0 0)} assume true; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17418#(<= ~counter~0 0)} {17410#true} #108#return; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {17418#(<= ~counter~0 0)} call #t~ret9 := main(); {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {17418#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,076 INFO L272 TraceCheckUtils]: 6: Hoare triple {17418#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {17418#(<= ~counter~0 0)} ~cond := #in~cond; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {17418#(<= ~counter~0 0)} assume !(0 == ~cond); {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {17418#(<= ~counter~0 0)} assume true; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,087 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17418#(<= ~counter~0 0)} {17418#(<= ~counter~0 0)} #94#return; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,088 INFO L272 TraceCheckUtils]: 11: Hoare triple {17418#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {17418#(<= ~counter~0 0)} ~cond := #in~cond; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {17418#(<= ~counter~0 0)} assume !(0 == ~cond); {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {17418#(<= ~counter~0 0)} assume true; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,089 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17418#(<= ~counter~0 0)} {17418#(<= ~counter~0 0)} #96#return; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,090 INFO L290 TraceCheckUtils]: 16: Hoare triple {17418#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17418#(<= ~counter~0 0)} is VALID [2022-04-07 13:49:37,090 INFO L290 TraceCheckUtils]: 17: Hoare triple {17418#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17467#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:37,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {17467#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {17467#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:37,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {17467#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17467#(<= ~counter~0 1)} is VALID [2022-04-07 13:49:37,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {17467#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17477#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:37,092 INFO L290 TraceCheckUtils]: 21: Hoare triple {17477#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {17477#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:37,092 INFO L290 TraceCheckUtils]: 22: Hoare triple {17477#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {17477#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:37,093 INFO L290 TraceCheckUtils]: 23: Hoare triple {17477#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17477#(<= ~counter~0 2)} is VALID [2022-04-07 13:49:37,093 INFO L290 TraceCheckUtils]: 24: Hoare triple {17477#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17490#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:37,094 INFO L290 TraceCheckUtils]: 25: Hoare triple {17490#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {17490#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:37,094 INFO L290 TraceCheckUtils]: 26: Hoare triple {17490#(<= ~counter~0 3)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17490#(<= ~counter~0 3)} is VALID [2022-04-07 13:49:37,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {17490#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17500#(<= ~counter~0 4)} is VALID [2022-04-07 13:49:37,095 INFO L290 TraceCheckUtils]: 28: Hoare triple {17500#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {17500#(<= ~counter~0 4)} is VALID [2022-04-07 13:49:37,095 INFO L290 TraceCheckUtils]: 29: Hoare triple {17500#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17500#(<= ~counter~0 4)} is VALID [2022-04-07 13:49:37,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {17500#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {17510#(<= |main_#t~post8| 4)} is VALID [2022-04-07 13:49:37,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {17510#(<= |main_#t~post8| 4)} assume !(#t~post8 < 100);havoc #t~post8; {17411#false} is VALID [2022-04-07 13:49:37,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {17411#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17411#false} is VALID [2022-04-07 13:49:37,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {17411#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17411#false} is VALID [2022-04-07 13:49:37,096 INFO L290 TraceCheckUtils]: 34: Hoare triple {17411#false} assume !!(#t~post7 < 100);havoc #t~post7; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 35: Hoare triple {17411#false} assume !(~c~0 >= ~b~0); {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 36: Hoare triple {17411#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 37: Hoare triple {17411#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {17411#false} assume !(#t~post6 < 100);havoc #t~post6; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L272 TraceCheckUtils]: 39: Hoare triple {17411#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {17411#false} ~cond := #in~cond; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 41: Hoare triple {17411#false} assume 0 == ~cond; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {17411#false} assume !false; {17411#false} is VALID [2022-04-07 13:49:37,097 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:37,097 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {17411#false} assume !false; {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {17411#false} assume 0 == ~cond; {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {17411#false} ~cond := #in~cond; {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L272 TraceCheckUtils]: 39: Hoare triple {17411#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {17411#false} assume !(#t~post6 < 100);havoc #t~post6; {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {17411#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17411#false} is VALID [2022-04-07 13:49:37,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {17411#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {17411#false} assume !(~c~0 >= ~b~0); {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {17411#false} assume !!(#t~post7 < 100);havoc #t~post7; {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {17411#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {17411#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {17580#(< |main_#t~post8| 100)} assume !(#t~post8 < 100);havoc #t~post8; {17411#false} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {17584#(< ~counter~0 100)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {17580#(< |main_#t~post8| 100)} is VALID [2022-04-07 13:49:37,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {17584#(< ~counter~0 100)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17584#(< ~counter~0 100)} is VALID [2022-04-07 13:49:37,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {17584#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {17584#(< ~counter~0 100)} is VALID [2022-04-07 13:49:37,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {17594#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17584#(< ~counter~0 100)} is VALID [2022-04-07 13:49:37,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {17594#(< ~counter~0 99)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17594#(< ~counter~0 99)} is VALID [2022-04-07 13:49:37,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {17594#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {17594#(< ~counter~0 99)} is VALID [2022-04-07 13:49:37,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {17604#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17594#(< ~counter~0 99)} is VALID [2022-04-07 13:49:37,376 INFO L290 TraceCheckUtils]: 23: Hoare triple {17604#(< ~counter~0 98)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17604#(< ~counter~0 98)} is VALID [2022-04-07 13:49:37,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {17604#(< ~counter~0 98)} assume !(~c~0 >= ~b~0); {17604#(< ~counter~0 98)} is VALID [2022-04-07 13:49:37,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {17604#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {17604#(< ~counter~0 98)} is VALID [2022-04-07 13:49:37,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {17617#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17604#(< ~counter~0 98)} is VALID [2022-04-07 13:49:37,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {17617#(< ~counter~0 97)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17617#(< ~counter~0 97)} is VALID [2022-04-07 13:49:37,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {17617#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {17617#(< ~counter~0 97)} is VALID [2022-04-07 13:49:37,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {17627#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17617#(< ~counter~0 97)} is VALID [2022-04-07 13:49:37,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {17627#(< ~counter~0 96)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,378 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17410#true} {17627#(< ~counter~0 96)} #96#return; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {17410#true} assume true; {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {17410#true} assume !(0 == ~cond); {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {17410#true} ~cond := #in~cond; {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L272 TraceCheckUtils]: 11: Hoare triple {17627#(< ~counter~0 96)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17410#true} {17627#(< ~counter~0 96)} #94#return; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {17410#true} assume true; {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {17410#true} assume !(0 == ~cond); {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {17410#true} ~cond := #in~cond; {17410#true} is VALID [2022-04-07 13:49:37,379 INFO L272 TraceCheckUtils]: 6: Hoare triple {17627#(< ~counter~0 96)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17410#true} is VALID [2022-04-07 13:49:37,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {17627#(< ~counter~0 96)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {17627#(< ~counter~0 96)} call #t~ret9 := main(); {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17627#(< ~counter~0 96)} {17410#true} #108#return; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {17627#(< ~counter~0 96)} assume true; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {17410#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17627#(< ~counter~0 96)} is VALID [2022-04-07 13:49:37,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {17410#true} call ULTIMATE.init(); {17410#true} is VALID [2022-04-07 13:49:37,381 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 13:49:37,381 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:37,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621855833] [2022-04-07 13:49:37,381 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:37,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2032773356] [2022-04-07 13:49:37,381 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2032773356] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:49:37,381 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:49:37,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 13:49:37,382 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [512774347] [2022-04-07 13:49:37,382 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:49:37,382 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-07 13:49:37,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:37,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:37,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:37,428 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 13:49:37,428 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:37,428 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 13:49:37,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 13:49:37,429 INFO L87 Difference]: Start difference. First operand 736 states and 1085 transitions. Second operand has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:40,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:40,125 INFO L93 Difference]: Finished difference Result 1597 states and 2379 transitions. [2022-04-07 13:49:40,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-07 13:49:40,125 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-07 13:49:40,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:40,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:40,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 281 transitions. [2022-04-07 13:49:40,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:40,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 281 transitions. [2022-04-07 13:49:40,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 281 transitions. [2022-04-07 13:49:40,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:40,428 INFO L225 Difference]: With dead ends: 1597 [2022-04-07 13:49:40,428 INFO L226 Difference]: Without dead ends: 1119 [2022-04-07 13:49:40,430 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=144, Invalid=276, Unknown=0, NotChecked=0, Total=420 [2022-04-07 13:49:40,430 INFO L913 BasicCegarLoop]: 75 mSDtfsCounter, 237 mSDsluCounter, 330 mSDsCounter, 0 mSdLazyCounter, 171 mSolverCounterSat, 108 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 237 SdHoareTripleChecker+Valid, 405 SdHoareTripleChecker+Invalid, 279 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 108 IncrementalHoareTripleChecker+Valid, 171 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:40,430 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [237 Valid, 405 Invalid, 279 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [108 Valid, 171 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:49:40,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1119 states. [2022-04-07 13:49:42,149 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1119 to 1072. [2022-04-07 13:49:42,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:42,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1119 states. Second operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) [2022-04-07 13:49:42,153 INFO L74 IsIncluded]: Start isIncluded. First operand 1119 states. Second operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) [2022-04-07 13:49:42,154 INFO L87 Difference]: Start difference. First operand 1119 states. Second operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) [2022-04-07 13:49:42,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:42,225 INFO L93 Difference]: Finished difference Result 1119 states and 1584 transitions. [2022-04-07 13:49:42,225 INFO L276 IsEmpty]: Start isEmpty. Operand 1119 states and 1584 transitions. [2022-04-07 13:49:42,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:42,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:42,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) Second operand 1119 states. [2022-04-07 13:49:42,232 INFO L87 Difference]: Start difference. First operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) Second operand 1119 states. [2022-04-07 13:49:42,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:42,299 INFO L93 Difference]: Finished difference Result 1119 states and 1584 transitions. [2022-04-07 13:49:42,299 INFO L276 IsEmpty]: Start isEmpty. Operand 1119 states and 1584 transitions. [2022-04-07 13:49:42,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:42,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:42,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:42,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:42,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1072 states, 697 states have (on average 1.3113342898134863) internal successors, (914), 730 states have internal predecessors, (914), 318 states have call successors, (318), 57 states have call predecessors, (318), 56 states have return successors, (311), 284 states have call predecessors, (311), 311 states have call successors, (311) [2022-04-07 13:49:42,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1072 states to 1072 states and 1543 transitions. [2022-04-07 13:49:42,398 INFO L78 Accepts]: Start accepts. Automaton has 1072 states and 1543 transitions. Word has length 43 [2022-04-07 13:49:42,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:42,398 INFO L478 AbstractCegarLoop]: Abstraction has 1072 states and 1543 transitions. [2022-04-07 13:49:42,398 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.857142857142857) internal successors, (54), 14 states have internal predecessors, (54), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 13:49:42,398 INFO L276 IsEmpty]: Start isEmpty. Operand 1072 states and 1543 transitions. [2022-04-07 13:49:42,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-07 13:49:42,399 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:42,399 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:42,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-07 13:49:42,615 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:42,615 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:42,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:42,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1262965884, now seen corresponding path program 2 times [2022-04-07 13:49:42,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:42,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1337357161] [2022-04-07 13:49:42,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:42,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:42,630 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:42,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [326947593] [2022-04-07 13:49:42,630 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:49:42,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:42,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:42,635 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:42,637 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-07 13:49:42,686 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:49:42,687 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:49:42,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 13:49:42,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:42,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:42,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {23972#true} call ULTIMATE.init(); {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {23972#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {23972#true} assume true; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23972#true} {23972#true} #108#return; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {23972#true} call #t~ret9 := main(); {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {23972#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {23972#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {23972#true} ~cond := #in~cond; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {23972#true} assume !(0 == ~cond); {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {23972#true} assume true; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23972#true} {23972#true} #94#return; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L272 TraceCheckUtils]: 11: Hoare triple {23972#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 12: Hoare triple {23972#true} ~cond := #in~cond; {23972#true} is VALID [2022-04-07 13:49:42,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {23972#true} assume !(0 == ~cond); {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {23972#true} assume true; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23972#true} {23972#true} #96#return; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 16: Hoare triple {23972#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {23972#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {23972#true} assume !!(#t~post6 < 100);havoc #t~post6; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 19: Hoare triple {23972#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {23972#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {23972#true} assume !!(#t~post7 < 100);havoc #t~post7; {23972#true} is VALID [2022-04-07 13:49:42,818 INFO L290 TraceCheckUtils]: 22: Hoare triple {23972#true} assume !(~c~0 >= ~b~0); {24043#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-07 13:49:42,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {24043#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24047#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:49:42,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {24047#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24047#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:49:42,819 INFO L290 TraceCheckUtils]: 25: Hoare triple {24047#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {24047#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:49:42,820 INFO L290 TraceCheckUtils]: 26: Hoare triple {24047#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {24057#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:49:42,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {24057#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24057#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:49:42,820 INFO L290 TraceCheckUtils]: 28: Hoare triple {24057#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {24057#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 29: Hoare triple {24057#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 30: Hoare triple {23973#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {23973#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {23973#false} assume !!(#t~post6 < 100);havoc #t~post6; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 33: Hoare triple {23973#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 34: Hoare triple {23973#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 35: Hoare triple {23973#false} assume !!(#t~post7 < 100);havoc #t~post7; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 36: Hoare triple {23973#false} assume !(~c~0 >= ~b~0); {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 37: Hoare triple {23973#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 38: Hoare triple {23973#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23973#false} is VALID [2022-04-07 13:49:42,821 INFO L290 TraceCheckUtils]: 39: Hoare triple {23973#false} assume !(#t~post6 < 100);havoc #t~post6; {23973#false} is VALID [2022-04-07 13:49:42,822 INFO L272 TraceCheckUtils]: 40: Hoare triple {23973#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {23973#false} is VALID [2022-04-07 13:49:42,822 INFO L290 TraceCheckUtils]: 41: Hoare triple {23973#false} ~cond := #in~cond; {23973#false} is VALID [2022-04-07 13:49:42,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {23973#false} assume 0 == ~cond; {23973#false} is VALID [2022-04-07 13:49:42,822 INFO L290 TraceCheckUtils]: 43: Hoare triple {23973#false} assume !false; {23973#false} is VALID [2022-04-07 13:49:42,822 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-07 13:49:42,822 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:49:42,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:49:42,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1337357161] [2022-04-07 13:49:42,822 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:49:42,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [326947593] [2022-04-07 13:49:42,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [326947593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:49:42,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:49:42,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:49:42,823 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1741461507] [2022-04-07 13:49:42,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:49:42,823 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-07 13:49:42,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:49:42,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:42,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:42,848 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:49:42,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:49:42,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:49:42,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:49:42,849 INFO L87 Difference]: Start difference. First operand 1072 states and 1543 transitions. Second operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:45,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:45,645 INFO L93 Difference]: Finished difference Result 1700 states and 2539 transitions. [2022-04-07 13:49:45,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:49:45,645 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-07 13:49:45,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:49:45,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:45,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 124 transitions. [2022-04-07 13:49:45,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:45,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 124 transitions. [2022-04-07 13:49:45,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 124 transitions. [2022-04-07 13:49:45,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:49:45,851 INFO L225 Difference]: With dead ends: 1700 [2022-04-07 13:49:45,851 INFO L226 Difference]: Without dead ends: 1234 [2022-04-07 13:49:45,852 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-07 13:49:45,853 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 29 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 96 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:49:45,853 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 170 Invalid, 96 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:49:45,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1234 states. [2022-04-07 13:49:47,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1234 to 995. [2022-04-07 13:49:47,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:49:47,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1234 states. Second operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) [2022-04-07 13:49:47,588 INFO L74 IsIncluded]: Start isIncluded. First operand 1234 states. Second operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) [2022-04-07 13:49:47,589 INFO L87 Difference]: Start difference. First operand 1234 states. Second operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) [2022-04-07 13:49:47,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:47,677 INFO L93 Difference]: Finished difference Result 1234 states and 1815 transitions. [2022-04-07 13:49:47,677 INFO L276 IsEmpty]: Start isEmpty. Operand 1234 states and 1815 transitions. [2022-04-07 13:49:47,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:47,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:47,683 INFO L74 IsIncluded]: Start isIncluded. First operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) Second operand 1234 states. [2022-04-07 13:49:47,684 INFO L87 Difference]: Start difference. First operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) Second operand 1234 states. [2022-04-07 13:49:47,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:49:47,769 INFO L93 Difference]: Finished difference Result 1234 states and 1815 transitions. [2022-04-07 13:49:47,769 INFO L276 IsEmpty]: Start isEmpty. Operand 1234 states and 1815 transitions. [2022-04-07 13:49:47,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:49:47,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:49:47,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:49:47,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:49:47,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 995 states, 660 states have (on average 1.3015151515151515) internal successors, (859), 690 states have internal predecessors, (859), 278 states have call successors, (278), 57 states have call predecessors, (278), 56 states have return successors, (271), 247 states have call predecessors, (271), 271 states have call successors, (271) [2022-04-07 13:49:47,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 995 states to 995 states and 1408 transitions. [2022-04-07 13:49:47,850 INFO L78 Accepts]: Start accepts. Automaton has 995 states and 1408 transitions. Word has length 44 [2022-04-07 13:49:47,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:49:47,850 INFO L478 AbstractCegarLoop]: Abstraction has 995 states and 1408 transitions. [2022-04-07 13:49:47,850 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 13:49:47,851 INFO L276 IsEmpty]: Start isEmpty. Operand 995 states and 1408 transitions. [2022-04-07 13:49:47,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 13:49:47,851 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:49:47,851 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:49:47,874 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-07 13:49:48,071 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-07 13:49:48,072 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:49:48,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:49:48,072 INFO L85 PathProgramCache]: Analyzing trace with hash 958119025, now seen corresponding path program 1 times [2022-04-07 13:49:48,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:49:48,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827991738] [2022-04-07 13:49:48,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:48,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:49:48,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:49:48,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [406363071] [2022-04-07 13:49:48,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:49:48,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:49:48,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:49:48,112 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:49:48,138 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-07 13:49:48,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:48,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-07 13:49:48,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:49:48,187 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:49:48,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {30652#true} call ULTIMATE.init(); {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {30652#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30652#true} {30652#true} #108#return; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {30652#true} call #t~ret9 := main(); {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {30652#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L272 TraceCheckUtils]: 6: Hoare triple {30652#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30652#true} {30652#true} #94#return; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L272 TraceCheckUtils]: 11: Hoare triple {30652#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:49:48,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:49:48,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:49:48,997 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {30652#true} {30652#true} #96#return; {30652#true} is VALID [2022-04-07 13:49:48,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {30652#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {30705#(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-07 13:49:48,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {30705#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30705#(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-07 13:49:48,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {30705#(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 !!(#t~post6 < 100);havoc #t~post6; {30705#(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-07 13:49:48,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {30705#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:49:48,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:49:48,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(#t~post7 < 100);havoc #t~post7; {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:49:48,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {30715#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,000 INFO L290 TraceCheckUtils]: 23: Hoare triple {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,000 INFO L290 TraceCheckUtils]: 24: Hoare triple {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,000 INFO L272 TraceCheckUtils]: 25: Hoare triple {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= 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)); {30652#true} is VALID [2022-04-07 13:49:49,001 INFO L290 TraceCheckUtils]: 26: Hoare triple {30652#true} ~cond := #in~cond; {30738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:49,001 INFO L290 TraceCheckUtils]: 27: Hoare triple {30738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:49:49,001 INFO L290 TraceCheckUtils]: 28: Hoare triple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:49:49,002 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} {30725#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #98#return; {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,002 INFO L272 TraceCheckUtils]: 30: Hoare triple {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {30652#true} is VALID [2022-04-07 13:49:49,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {30652#true} ~cond := #in~cond; {30738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:49,003 INFO L290 TraceCheckUtils]: 32: Hoare triple {30738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:49:49,003 INFO L290 TraceCheckUtils]: 33: Hoare triple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:49:49,004 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #100#return; {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,004 INFO L272 TraceCheckUtils]: 35: Hoare triple {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:49:49,004 INFO L290 TraceCheckUtils]: 36: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:49:49,004 INFO L290 TraceCheckUtils]: 37: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:49:49,004 INFO L290 TraceCheckUtils]: 38: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:49:49,005 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {30652#true} {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,005 INFO L272 TraceCheckUtils]: 40: Hoare triple {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:49:49,005 INFO L290 TraceCheckUtils]: 41: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:49:49,005 INFO L290 TraceCheckUtils]: 42: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:49:49,005 INFO L290 TraceCheckUtils]: 43: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:49:49,006 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {30652#true} {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,006 INFO L290 TraceCheckUtils]: 45: Hoare triple {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {30749#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,009 INFO L290 TraceCheckUtils]: 48: Hoare triple {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,009 INFO L290 TraceCheckUtils]: 49: Hoare triple {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:49:49,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {30801#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:49,010 INFO L290 TraceCheckUtils]: 51: Hoare triple {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:49,011 INFO L290 TraceCheckUtils]: 52: Hoare triple {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:49,012 INFO L290 TraceCheckUtils]: 53: Hoare triple {30814#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !(0 != ~b~0); {30824#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:49:49,013 INFO L272 TraceCheckUtils]: 54: Hoare triple {30824#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {30828#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:49:49,013 INFO L290 TraceCheckUtils]: 55: Hoare triple {30828#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30832#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:49:49,014 INFO L290 TraceCheckUtils]: 56: Hoare triple {30832#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {30653#false} is VALID [2022-04-07 13:49:49,014 INFO L290 TraceCheckUtils]: 57: Hoare triple {30653#false} assume !false; {30653#false} is VALID [2022-04-07 13:49:49,014 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 20 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 13:49:49,014 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:50:29,389 INFO L290 TraceCheckUtils]: 57: Hoare triple {30653#false} assume !false; {30653#false} is VALID [2022-04-07 13:50:29,390 INFO L290 TraceCheckUtils]: 56: Hoare triple {30832#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {30653#false} is VALID [2022-04-07 13:50:29,390 INFO L290 TraceCheckUtils]: 55: Hoare triple {30828#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30832#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:50:29,391 INFO L272 TraceCheckUtils]: 54: Hoare triple {30848#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {30828#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:50:29,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {30848#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:50:29,392 INFO L290 TraceCheckUtils]: 52: Hoare triple {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:50:29,393 INFO L290 TraceCheckUtils]: 51: Hoare triple {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:50:29,716 INFO L290 TraceCheckUtils]: 50: Hoare triple {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30852#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:50:29,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,717 INFO L290 TraceCheckUtils]: 47: Hoare triple {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,771 INFO L290 TraceCheckUtils]: 46: Hoare triple {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30862#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,772 INFO L290 TraceCheckUtils]: 45: Hoare triple {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,773 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {30652#true} {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:50:29,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:50:29,773 INFO L290 TraceCheckUtils]: 41: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:50:29,773 INFO L272 TraceCheckUtils]: 40: Hoare triple {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:50:29,774 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {30652#true} {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:50:29,774 INFO L290 TraceCheckUtils]: 37: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:50:29,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:50:29,775 INFO L272 TraceCheckUtils]: 35: Hoare triple {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:50:29,776 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} {30912#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #100#return; {30875#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:50:29,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {30922#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:50:29,777 INFO L290 TraceCheckUtils]: 31: Hoare triple {30652#true} ~cond := #in~cond; {30922#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:50:29,777 INFO L272 TraceCheckUtils]: 30: Hoare triple {30912#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {30652#true} is VALID [2022-04-07 13:50:29,778 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #98#return; {30912#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,779 INFO L290 TraceCheckUtils]: 28: Hoare triple {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:50:29,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {30922#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:50:29,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {30652#true} ~cond := #in~cond; {30922#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:50:29,780 INFO L272 TraceCheckUtils]: 25: Hoare triple {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {30652#true} is VALID [2022-04-07 13:50:29,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post8 < 100);havoc #t~post8; {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30929#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:50:29,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-07 13:50:29,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {30652#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30951#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {30652#true} assume !!(#t~post6 < 100);havoc #t~post6; {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {30652#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {30652#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {30652#true} {30652#true} #96#return; {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:50:29,785 INFO L290 TraceCheckUtils]: 12: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L272 TraceCheckUtils]: 11: Hoare triple {30652#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30652#true} {30652#true} #94#return; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {30652#true} assume !(0 == ~cond); {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {30652#true} ~cond := #in~cond; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {30652#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {30652#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {30652#true} call #t~ret9 := main(); {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30652#true} {30652#true} #108#return; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {30652#true} assume true; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {30652#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {30652#true} is VALID [2022-04-07 13:50:29,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {30652#true} call ULTIMATE.init(); {30652#true} is VALID [2022-04-07 13:50:29,787 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 9 proven. 17 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 13:50:29,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:50:29,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [827991738] [2022-04-07 13:50:29,787 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:50:29,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [406363071] [2022-04-07 13:50:29,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [406363071] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:50:29,787 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:50:29,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-07 13:50:29,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [504626199] [2022-04-07 13:50:29,788 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:50:29,788 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) Word has length 58 [2022-04-07 13:50:29,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:50:29,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-07 13:50:29,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:50:29,923 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-07 13:50:29,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:50:29,923 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-07 13:50:29,923 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-07 13:50:29,923 INFO L87 Difference]: Start difference. First operand 995 states and 1408 transitions. Second operand has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-07 13:50:36,988 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:50:53,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:50:53,801 INFO L93 Difference]: Finished difference Result 1412 states and 2014 transitions. [2022-04-07 13:50:53,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-07 13:50:53,802 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) Word has length 58 [2022-04-07 13:50:53,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:50:53,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-07 13:50:53,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 308 transitions. [2022-04-07 13:50:53,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-07 13:50:53,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 308 transitions. [2022-04-07 13:50:53,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 308 transitions. [2022-04-07 13:51:00,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:00,225 INFO L225 Difference]: With dead ends: 1412 [2022-04-07 13:51:00,225 INFO L226 Difference]: Without dead ends: 1404 [2022-04-07 13:51:00,226 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 95 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 274 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=261, Invalid=1299, Unknown=0, NotChecked=0, Total=1560 [2022-04-07 13:51:00,226 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 166 mSDsluCounter, 609 mSDsCounter, 0 mSdLazyCounter, 1343 mSolverCounterSat, 236 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 183 SdHoareTripleChecker+Valid, 669 SdHoareTripleChecker+Invalid, 1579 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 236 IncrementalHoareTripleChecker+Valid, 1343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.3s IncrementalHoareTripleChecker+Time [2022-04-07 13:51:00,227 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [183 Valid, 669 Invalid, 1579 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [236 Valid, 1343 Invalid, 0 Unknown, 0 Unchecked, 8.3s Time] [2022-04-07 13:51:00,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1404 states. [2022-04-07 13:51:02,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1404 to 1226. [2022-04-07 13:51:02,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:51:02,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1404 states. Second operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) [2022-04-07 13:51:02,565 INFO L74 IsIncluded]: Start isIncluded. First operand 1404 states. Second operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) [2022-04-07 13:51:02,567 INFO L87 Difference]: Start difference. First operand 1404 states. Second operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) [2022-04-07 13:51:02,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:02,665 INFO L93 Difference]: Finished difference Result 1404 states and 1984 transitions. [2022-04-07 13:51:02,665 INFO L276 IsEmpty]: Start isEmpty. Operand 1404 states and 1984 transitions. [2022-04-07 13:51:02,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:02,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:02,672 INFO L74 IsIncluded]: Start isIncluded. First operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) Second operand 1404 states. [2022-04-07 13:51:02,673 INFO L87 Difference]: Start difference. First operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) Second operand 1404 states. [2022-04-07 13:51:02,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:02,771 INFO L93 Difference]: Finished difference Result 1404 states and 1984 transitions. [2022-04-07 13:51:02,771 INFO L276 IsEmpty]: Start isEmpty. Operand 1404 states and 1984 transitions. [2022-04-07 13:51:02,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:02,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:02,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:51:02,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:51:02,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1226 states, 845 states have (on average 1.2970414201183431) internal successors, (1096), 864 states have internal predecessors, (1096), 308 states have call successors, (308), 73 states have call predecessors, (308), 72 states have return successors, (303), 288 states have call predecessors, (303), 303 states have call successors, (303) [2022-04-07 13:51:02,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1226 states to 1226 states and 1707 transitions. [2022-04-07 13:51:02,879 INFO L78 Accepts]: Start accepts. Automaton has 1226 states and 1707 transitions. Word has length 58 [2022-04-07 13:51:02,879 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:51:02,879 INFO L478 AbstractCegarLoop]: Abstraction has 1226 states and 1707 transitions. [2022-04-07 13:51:02,879 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 19 states have internal predecessors, (53), 8 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-07 13:51:02,879 INFO L276 IsEmpty]: Start isEmpty. Operand 1226 states and 1707 transitions. [2022-04-07 13:51:02,880 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-07 13:51:02,880 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:51:02,880 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:51:02,906 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-07 13:51:03,095 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-07 13:51:03,095 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:51:03,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:51:03,096 INFO L85 PathProgramCache]: Analyzing trace with hash 1288112160, now seen corresponding path program 1 times [2022-04-07 13:51:03,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:51:03,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863539882] [2022-04-07 13:51:03,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:03,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:51:03,107 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:51:03,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [497449714] [2022-04-07 13:51:03,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:03,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:03,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:51:03,109 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:51:03,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-07 13:51:03,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:03,156 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 13:51:03,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:03,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:51:03,469 INFO L272 TraceCheckUtils]: 0: Hoare triple {37759#true} call ULTIMATE.init(); {37759#true} is VALID [2022-04-07 13:51:03,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {37759#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {37767#(<= ~counter~0 0)} assume true; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37767#(<= ~counter~0 0)} {37759#true} #108#return; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {37767#(<= ~counter~0 0)} call #t~ret9 := main(); {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {37767#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,471 INFO L272 TraceCheckUtils]: 6: Hoare triple {37767#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {37767#(<= ~counter~0 0)} ~cond := #in~cond; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {37767#(<= ~counter~0 0)} assume !(0 == ~cond); {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {37767#(<= ~counter~0 0)} assume true; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37767#(<= ~counter~0 0)} {37767#(<= ~counter~0 0)} #94#return; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,472 INFO L272 TraceCheckUtils]: 11: Hoare triple {37767#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,473 INFO L290 TraceCheckUtils]: 12: Hoare triple {37767#(<= ~counter~0 0)} ~cond := #in~cond; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {37767#(<= ~counter~0 0)} assume !(0 == ~cond); {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {37767#(<= ~counter~0 0)} assume true; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,474 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37767#(<= ~counter~0 0)} {37767#(<= ~counter~0 0)} #96#return; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,474 INFO L290 TraceCheckUtils]: 16: Hoare triple {37767#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37767#(<= ~counter~0 0)} is VALID [2022-04-07 13:51:03,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {37767#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37816#(<= ~counter~0 1)} is VALID [2022-04-07 13:51:03,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {37816#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {37816#(<= ~counter~0 1)} is VALID [2022-04-07 13:51:03,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {37816#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {37816#(<= ~counter~0 1)} is VALID [2022-04-07 13:51:03,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {37816#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {37826#(<= ~counter~0 2)} is VALID [2022-04-07 13:51:03,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {37826#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {37826#(<= ~counter~0 2)} is VALID [2022-04-07 13:51:03,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {37826#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {37826#(<= ~counter~0 2)} is VALID [2022-04-07 13:51:03,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {37826#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {37826#(<= ~counter~0 2)} is VALID [2022-04-07 13:51:03,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {37826#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37839#(<= ~counter~0 3)} is VALID [2022-04-07 13:51:03,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {37839#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {37839#(<= ~counter~0 3)} is VALID [2022-04-07 13:51:03,477 INFO L290 TraceCheckUtils]: 26: Hoare triple {37839#(<= ~counter~0 3)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {37839#(<= ~counter~0 3)} is VALID [2022-04-07 13:51:03,478 INFO L290 TraceCheckUtils]: 27: Hoare triple {37839#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {37849#(<= ~counter~0 4)} is VALID [2022-04-07 13:51:03,478 INFO L290 TraceCheckUtils]: 28: Hoare triple {37849#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {37849#(<= ~counter~0 4)} is VALID [2022-04-07 13:51:03,478 INFO L290 TraceCheckUtils]: 29: Hoare triple {37849#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {37849#(<= ~counter~0 4)} is VALID [2022-04-07 13:51:03,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {37849#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {37859#(<= ~counter~0 5)} assume !!(#t~post8 < 100);havoc #t~post8; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,480 INFO L272 TraceCheckUtils]: 32: Hoare triple {37859#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,480 INFO L290 TraceCheckUtils]: 33: Hoare triple {37859#(<= ~counter~0 5)} ~cond := #in~cond; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,480 INFO L290 TraceCheckUtils]: 34: Hoare triple {37859#(<= ~counter~0 5)} assume !(0 == ~cond); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,480 INFO L290 TraceCheckUtils]: 35: Hoare triple {37859#(<= ~counter~0 5)} assume true; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,481 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {37859#(<= ~counter~0 5)} {37859#(<= ~counter~0 5)} #98#return; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,483 INFO L272 TraceCheckUtils]: 37: Hoare triple {37859#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {37859#(<= ~counter~0 5)} ~cond := #in~cond; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {37859#(<= ~counter~0 5)} assume !(0 == ~cond); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,484 INFO L290 TraceCheckUtils]: 40: Hoare triple {37859#(<= ~counter~0 5)} assume true; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,485 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {37859#(<= ~counter~0 5)} {37859#(<= ~counter~0 5)} #100#return; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,486 INFO L272 TraceCheckUtils]: 42: Hoare triple {37859#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {37859#(<= ~counter~0 5)} ~cond := #in~cond; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {37859#(<= ~counter~0 5)} assume !(0 == ~cond); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,487 INFO L290 TraceCheckUtils]: 45: Hoare triple {37859#(<= ~counter~0 5)} assume true; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,487 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {37859#(<= ~counter~0 5)} {37859#(<= ~counter~0 5)} #102#return; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,488 INFO L272 TraceCheckUtils]: 47: Hoare triple {37859#(<= ~counter~0 5)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,488 INFO L290 TraceCheckUtils]: 48: Hoare triple {37859#(<= ~counter~0 5)} ~cond := #in~cond; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {37859#(<= ~counter~0 5)} assume !(0 == ~cond); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,489 INFO L290 TraceCheckUtils]: 50: Hoare triple {37859#(<= ~counter~0 5)} assume true; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,489 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {37859#(<= ~counter~0 5)} {37859#(<= ~counter~0 5)} #104#return; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,490 INFO L290 TraceCheckUtils]: 52: Hoare triple {37859#(<= ~counter~0 5)} assume !(~c~0 >= 2 * ~v~0); {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,490 INFO L290 TraceCheckUtils]: 53: Hoare triple {37859#(<= ~counter~0 5)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {37859#(<= ~counter~0 5)} is VALID [2022-04-07 13:51:03,491 INFO L290 TraceCheckUtils]: 54: Hoare triple {37859#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {37932#(<= ~counter~0 6)} is VALID [2022-04-07 13:51:03,491 INFO L290 TraceCheckUtils]: 55: Hoare triple {37932#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {37932#(<= ~counter~0 6)} is VALID [2022-04-07 13:51:03,491 INFO L290 TraceCheckUtils]: 56: Hoare triple {37932#(<= ~counter~0 6)} assume !(~c~0 >= ~b~0); {37932#(<= ~counter~0 6)} is VALID [2022-04-07 13:51:03,492 INFO L290 TraceCheckUtils]: 57: Hoare triple {37932#(<= ~counter~0 6)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {37932#(<= ~counter~0 6)} is VALID [2022-04-07 13:51:03,492 INFO L290 TraceCheckUtils]: 58: Hoare triple {37932#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37945#(<= |main_#t~post6| 6)} is VALID [2022-04-07 13:51:03,492 INFO L290 TraceCheckUtils]: 59: Hoare triple {37945#(<= |main_#t~post6| 6)} assume !(#t~post6 < 100);havoc #t~post6; {37760#false} is VALID [2022-04-07 13:51:03,493 INFO L272 TraceCheckUtils]: 60: Hoare triple {37760#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {37760#false} is VALID [2022-04-07 13:51:03,493 INFO L290 TraceCheckUtils]: 61: Hoare triple {37760#false} ~cond := #in~cond; {37760#false} is VALID [2022-04-07 13:51:03,493 INFO L290 TraceCheckUtils]: 62: Hoare triple {37760#false} assume 0 == ~cond; {37760#false} is VALID [2022-04-07 13:51:03,493 INFO L290 TraceCheckUtils]: 63: Hoare triple {37760#false} assume !false; {37760#false} is VALID [2022-04-07 13:51:03,493 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 8 proven. 17 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 13:51:03,493 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:51:03,863 INFO L290 TraceCheckUtils]: 63: Hoare triple {37760#false} assume !false; {37760#false} is VALID [2022-04-07 13:51:03,863 INFO L290 TraceCheckUtils]: 62: Hoare triple {37760#false} assume 0 == ~cond; {37760#false} is VALID [2022-04-07 13:51:03,863 INFO L290 TraceCheckUtils]: 61: Hoare triple {37760#false} ~cond := #in~cond; {37760#false} is VALID [2022-04-07 13:51:03,863 INFO L272 TraceCheckUtils]: 60: Hoare triple {37760#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {37760#false} is VALID [2022-04-07 13:51:03,864 INFO L290 TraceCheckUtils]: 59: Hoare triple {37973#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {37760#false} is VALID [2022-04-07 13:51:03,864 INFO L290 TraceCheckUtils]: 58: Hoare triple {37977#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37973#(< |main_#t~post6| 100)} is VALID [2022-04-07 13:51:03,864 INFO L290 TraceCheckUtils]: 57: Hoare triple {37977#(< ~counter~0 100)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {37977#(< ~counter~0 100)} is VALID [2022-04-07 13:51:03,864 INFO L290 TraceCheckUtils]: 56: Hoare triple {37977#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {37977#(< ~counter~0 100)} is VALID [2022-04-07 13:51:03,865 INFO L290 TraceCheckUtils]: 55: Hoare triple {37977#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {37977#(< ~counter~0 100)} is VALID [2022-04-07 13:51:03,866 INFO L290 TraceCheckUtils]: 54: Hoare triple {37990#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {37977#(< ~counter~0 100)} is VALID [2022-04-07 13:51:03,866 INFO L290 TraceCheckUtils]: 53: Hoare triple {37990#(< ~counter~0 99)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,866 INFO L290 TraceCheckUtils]: 52: Hoare triple {37990#(< ~counter~0 99)} assume !(~c~0 >= 2 * ~v~0); {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,866 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {37759#true} {37990#(< ~counter~0 99)} #104#return; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 50: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 49: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 48: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L272 TraceCheckUtils]: 47: Hoare triple {37990#(< ~counter~0 99)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {37759#true} {37990#(< ~counter~0 99)} #102#return; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 45: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 44: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,867 INFO L272 TraceCheckUtils]: 42: Hoare triple {37990#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,868 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {37759#true} {37990#(< ~counter~0 99)} #100#return; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,868 INFO L290 TraceCheckUtils]: 40: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,868 INFO L290 TraceCheckUtils]: 39: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,868 INFO L290 TraceCheckUtils]: 38: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,868 INFO L272 TraceCheckUtils]: 37: Hoare triple {37990#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,869 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {37759#true} {37990#(< ~counter~0 99)} #98#return; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,869 INFO L290 TraceCheckUtils]: 34: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,869 INFO L290 TraceCheckUtils]: 33: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,869 INFO L272 TraceCheckUtils]: 32: Hoare triple {37990#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {37990#(< ~counter~0 99)} assume !!(#t~post8 < 100);havoc #t~post8; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {38063#(< ~counter~0 98)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {37990#(< ~counter~0 99)} is VALID [2022-04-07 13:51:03,870 INFO L290 TraceCheckUtils]: 29: Hoare triple {38063#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {38063#(< ~counter~0 98)} is VALID [2022-04-07 13:51:03,870 INFO L290 TraceCheckUtils]: 28: Hoare triple {38063#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {38063#(< ~counter~0 98)} is VALID [2022-04-07 13:51:03,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {38073#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38063#(< ~counter~0 98)} is VALID [2022-04-07 13:51:03,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {38073#(< ~counter~0 97)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38073#(< ~counter~0 97)} is VALID [2022-04-07 13:51:03,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {38073#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {38073#(< ~counter~0 97)} is VALID [2022-04-07 13:51:03,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {38083#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38073#(< ~counter~0 97)} is VALID [2022-04-07 13:51:03,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {38083#(< ~counter~0 96)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38083#(< ~counter~0 96)} is VALID [2022-04-07 13:51:03,872 INFO L290 TraceCheckUtils]: 22: Hoare triple {38083#(< ~counter~0 96)} assume !(~c~0 >= ~b~0); {38083#(< ~counter~0 96)} is VALID [2022-04-07 13:51:03,872 INFO L290 TraceCheckUtils]: 21: Hoare triple {38083#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {38083#(< ~counter~0 96)} is VALID [2022-04-07 13:51:03,873 INFO L290 TraceCheckUtils]: 20: Hoare triple {38096#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38083#(< ~counter~0 96)} is VALID [2022-04-07 13:51:03,873 INFO L290 TraceCheckUtils]: 19: Hoare triple {38096#(< ~counter~0 95)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38096#(< ~counter~0 95)} is VALID [2022-04-07 13:51:03,873 INFO L290 TraceCheckUtils]: 18: Hoare triple {38096#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {38096#(< ~counter~0 95)} is VALID [2022-04-07 13:51:03,874 INFO L290 TraceCheckUtils]: 17: Hoare triple {38106#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38096#(< ~counter~0 95)} is VALID [2022-04-07 13:51:03,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {38106#(< ~counter~0 94)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,874 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37759#true} {38106#(< ~counter~0 94)} #96#return; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L272 TraceCheckUtils]: 11: Hoare triple {38106#(< ~counter~0 94)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37759#true} {38106#(< ~counter~0 94)} #94#return; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {37759#true} assume true; {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {37759#true} assume !(0 == ~cond); {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {37759#true} ~cond := #in~cond; {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L272 TraceCheckUtils]: 6: Hoare triple {38106#(< ~counter~0 94)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37759#true} is VALID [2022-04-07 13:51:03,875 INFO L290 TraceCheckUtils]: 5: Hoare triple {38106#(< ~counter~0 94)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {38106#(< ~counter~0 94)} call #t~ret9 := main(); {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38106#(< ~counter~0 94)} {37759#true} #108#return; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {38106#(< ~counter~0 94)} assume true; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {37759#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38106#(< ~counter~0 94)} is VALID [2022-04-07 13:51:03,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {37759#true} call ULTIMATE.init(); {37759#true} is VALID [2022-04-07 13:51:03,877 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 8 proven. 17 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 13:51:03,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:51:03,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863539882] [2022-04-07 13:51:03,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:51:03,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [497449714] [2022-04-07 13:51:03,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [497449714] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:51:03,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:51:03,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-07 13:51:03,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1670652098] [2022-04-07 13:51:03,878 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:51:03,878 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) Word has length 64 [2022-04-07 13:51:03,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:51:03,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-07 13:51:03,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:03,957 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 13:51:03,957 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:51:03,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 13:51:03,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-07 13:51:03,958 INFO L87 Difference]: Start difference. First operand 1226 states and 1707 transitions. Second operand has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-07 13:51:09,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:09,707 INFO L93 Difference]: Finished difference Result 2565 states and 3679 transitions. [2022-04-07 13:51:09,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-07 13:51:09,707 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) Word has length 64 [2022-04-07 13:51:09,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:51:09,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-07 13:51:09,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 367 transitions. [2022-04-07 13:51:09,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-07 13:51:09,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 367 transitions. [2022-04-07 13:51:09,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 367 transitions. [2022-04-07 13:51:10,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 367 edges. 367 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:10,300 INFO L225 Difference]: With dead ends: 2565 [2022-04-07 13:51:10,300 INFO L226 Difference]: Without dead ends: 2543 [2022-04-07 13:51:10,301 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=287, Invalid=525, Unknown=0, NotChecked=0, Total=812 [2022-04-07 13:51:10,301 INFO L913 BasicCegarLoop]: 85 mSDtfsCounter, 337 mSDsluCounter, 417 mSDsCounter, 0 mSdLazyCounter, 245 mSolverCounterSat, 148 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 337 SdHoareTripleChecker+Valid, 502 SdHoareTripleChecker+Invalid, 393 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 148 IncrementalHoareTripleChecker+Valid, 245 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 13:51:10,301 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [337 Valid, 502 Invalid, 393 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [148 Valid, 245 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 13:51:10,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2543 states. [2022-04-07 13:51:14,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2543 to 2406. [2022-04-07 13:51:14,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:51:14,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2543 states. Second operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:14,539 INFO L74 IsIncluded]: Start isIncluded. First operand 2543 states. Second operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:14,542 INFO L87 Difference]: Start difference. First operand 2543 states. Second operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:14,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:14,814 INFO L93 Difference]: Finished difference Result 2543 states and 3572 transitions. [2022-04-07 13:51:14,814 INFO L276 IsEmpty]: Start isEmpty. Operand 2543 states and 3572 transitions. [2022-04-07 13:51:14,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:14,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:14,827 INFO L74 IsIncluded]: Start isIncluded. First operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) Second operand 2543 states. [2022-04-07 13:51:14,829 INFO L87 Difference]: Start difference. First operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) Second operand 2543 states. [2022-04-07 13:51:15,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:15,104 INFO L93 Difference]: Finished difference Result 2543 states and 3572 transitions. [2022-04-07 13:51:15,104 INFO L276 IsEmpty]: Start isEmpty. Operand 2543 states and 3572 transitions. [2022-04-07 13:51:15,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:15,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:15,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:51:15,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:51:15,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2406 states, 1658 states have (on average 1.3094089264173703) internal successors, (2171), 1717 states have internal predecessors, (2171), 631 states have call successors, (631), 117 states have call predecessors, (631), 116 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:15,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2406 states to 2406 states and 3425 transitions. [2022-04-07 13:51:15,483 INFO L78 Accepts]: Start accepts. Automaton has 2406 states and 3425 transitions. Word has length 64 [2022-04-07 13:51:15,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:51:15,483 INFO L478 AbstractCegarLoop]: Abstraction has 2406 states and 3425 transitions. [2022-04-07 13:51:15,484 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 3.8333333333333335) internal successors, (69), 18 states have internal predecessors, (69), 6 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (14), 4 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-07 13:51:15,484 INFO L276 IsEmpty]: Start isEmpty. Operand 2406 states and 3425 transitions. [2022-04-07 13:51:15,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-07 13:51:15,484 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:51:15,485 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:51:15,508 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-07 13:51:15,699 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-07 13:51:15,700 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:51:15,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:51:15,700 INFO L85 PathProgramCache]: Analyzing trace with hash 1156119236, now seen corresponding path program 1 times [2022-04-07 13:51:15,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:51:15,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [124062176] [2022-04-07 13:51:15,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:15,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:51:15,718 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:51:15,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [328882516] [2022-04-07 13:51:15,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:15,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:15,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:51:15,721 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:51:15,745 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-07 13:51:15,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:15,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-07 13:51:15,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:15,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:51:16,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {50605#true} call ULTIMATE.init(); {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {50605#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50605#true} {50605#true} #108#return; {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {50605#true} call #t~ret9 := main(); {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {50605#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {50605#true} is VALID [2022-04-07 13:51:16,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {50605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L290 TraceCheckUtils]: 7: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50605#true} {50605#true} #94#return; {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L272 TraceCheckUtils]: 11: Hoare triple {50605#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,121 INFO L290 TraceCheckUtils]: 12: Hoare triple {50605#true} ~cond := #in~cond; {50646#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:51:16,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {50646#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {50650#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:51:16,122 INFO L290 TraceCheckUtils]: 14: Hoare triple {50650#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {50650#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:51:16,122 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {50650#(not (= |assume_abort_if_not_#in~cond| 0))} {50605#true} #96#return; {50657#(<= 1 main_~y~0)} is VALID [2022-04-07 13:51:16,123 INFO L290 TraceCheckUtils]: 16: Hoare triple {50657#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {50661#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,123 INFO L290 TraceCheckUtils]: 18: Hoare triple {50661#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,123 INFO L290 TraceCheckUtils]: 19: Hoare triple {50661#(<= 1 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {50661#(<= 1 main_~b~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {50661#(<= 1 main_~b~0)} assume !!(#t~post7 < 100);havoc #t~post7; {50661#(<= 1 main_~b~0)} is VALID [2022-04-07 13:51:16,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {50661#(<= 1 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} assume !!(#t~post8 < 100);havoc #t~post8; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,125 INFO L272 TraceCheckUtils]: 25: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,126 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {50605#true} {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} #98#return; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,126 INFO L272 TraceCheckUtils]: 30: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,127 INFO L290 TraceCheckUtils]: 33: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,127 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {50605#true} {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} #100#return; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,127 INFO L272 TraceCheckUtils]: 35: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,128 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {50605#true} {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} #102#return; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,128 INFO L272 TraceCheckUtils]: 40: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,128 INFO L290 TraceCheckUtils]: 41: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,128 INFO L290 TraceCheckUtils]: 42: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,128 INFO L290 TraceCheckUtils]: 43: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,129 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {50605#true} {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} #104#return; {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,129 INFO L290 TraceCheckUtils]: 45: Hoare triple {50680#(and (= main_~b~0 main_~v~0) (= main_~d~0 1) (<= 1 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,130 INFO L290 TraceCheckUtils]: 47: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} assume !!(#t~post8 < 100);havoc #t~post8; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,130 INFO L272 TraceCheckUtils]: 48: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,130 INFO L290 TraceCheckUtils]: 50: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,130 INFO L290 TraceCheckUtils]: 51: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,131 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {50605#true} {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #98#return; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,131 INFO L272 TraceCheckUtils]: 53: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,131 INFO L290 TraceCheckUtils]: 54: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,131 INFO L290 TraceCheckUtils]: 55: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,132 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {50605#true} {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #100#return; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,132 INFO L272 TraceCheckUtils]: 58: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,132 INFO L290 TraceCheckUtils]: 59: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,132 INFO L290 TraceCheckUtils]: 60: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,132 INFO L290 TraceCheckUtils]: 61: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,133 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {50605#true} {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #102#return; {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 13:51:16,134 INFO L272 TraceCheckUtils]: 63: Hoare triple {50750#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {50805#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:51:16,134 INFO L290 TraceCheckUtils]: 64: Hoare triple {50805#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {50809#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:51:16,134 INFO L290 TraceCheckUtils]: 65: Hoare triple {50809#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {50606#false} is VALID [2022-04-07 13:51:16,134 INFO L290 TraceCheckUtils]: 66: Hoare triple {50606#false} assume !false; {50606#false} is VALID [2022-04-07 13:51:16,135 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 17 proven. 6 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-07 13:51:16,135 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:51:16,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {50606#false} assume !false; {50606#false} is VALID [2022-04-07 13:51:16,380 INFO L290 TraceCheckUtils]: 65: Hoare triple {50809#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {50606#false} is VALID [2022-04-07 13:51:16,380 INFO L290 TraceCheckUtils]: 64: Hoare triple {50805#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {50809#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:51:16,381 INFO L272 TraceCheckUtils]: 63: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {50805#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:51:16,381 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,381 INFO L290 TraceCheckUtils]: 61: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,381 INFO L290 TraceCheckUtils]: 60: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,381 INFO L290 TraceCheckUtils]: 59: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,381 INFO L272 TraceCheckUtils]: 58: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,383 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #100#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,384 INFO L290 TraceCheckUtils]: 56: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,384 INFO L290 TraceCheckUtils]: 55: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,384 INFO L290 TraceCheckUtils]: 54: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,384 INFO L272 TraceCheckUtils]: 53: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,385 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #98#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,385 INFO L290 TraceCheckUtils]: 51: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,385 INFO L290 TraceCheckUtils]: 50: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,385 INFO L290 TraceCheckUtils]: 49: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,385 INFO L272 TraceCheckUtils]: 48: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,385 INFO L290 TraceCheckUtils]: 47: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(#t~post8 < 100);havoc #t~post8; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,386 INFO L290 TraceCheckUtils]: 46: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,388 INFO L290 TraceCheckUtils]: 45: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,389 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,389 INFO L290 TraceCheckUtils]: 43: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,389 INFO L290 TraceCheckUtils]: 42: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,389 INFO L290 TraceCheckUtils]: 41: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,389 INFO L272 TraceCheckUtils]: 40: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,390 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,390 INFO L272 TraceCheckUtils]: 35: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,391 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #100#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,391 INFO L290 TraceCheckUtils]: 33: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,391 INFO L290 TraceCheckUtils]: 32: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,391 INFO L272 TraceCheckUtils]: 30: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,392 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {50605#true} {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #98#return; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,392 INFO L272 TraceCheckUtils]: 25: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,393 INFO L290 TraceCheckUtils]: 24: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(#t~post8 < 100);havoc #t~post8; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,393 INFO L290 TraceCheckUtils]: 23: Hoare triple {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {50605#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {50825#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 21: Hoare triple {50605#true} assume !!(#t~post7 < 100);havoc #t~post7; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {50605#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 19: Hoare triple {50605#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {50605#true} assume !!(#t~post6 < 100);havoc #t~post6; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 17: Hoare triple {50605#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 16: Hoare triple {50605#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {50605#true} {50605#true} #96#return; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 12: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L272 TraceCheckUtils]: 11: Hoare triple {50605#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50605#true} {50605#true} #94#return; {50605#true} is VALID [2022-04-07 13:51:16,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {50605#true} assume !(0 == ~cond); {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {50605#true} ~cond := #in~cond; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {50605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {50605#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {50605#true} call #t~ret9 := main(); {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50605#true} {50605#true} #108#return; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {50605#true} assume true; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {50605#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {50605#true} call ULTIMATE.init(); {50605#true} is VALID [2022-04-07 13:51:16,395 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-07 13:51:16,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:51:16,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [124062176] [2022-04-07 13:51:16,396 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:51:16,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [328882516] [2022-04-07 13:51:16,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [328882516] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 13:51:16,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:51:16,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-07 13:51:16,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [818760748] [2022-04-07 13:51:16,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:51:16,398 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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 67 [2022-04-07 13:51:16,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:51:16,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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-07 13:51:16,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:16,435 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:51:16,435 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:51:16,435 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:51:16,435 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 13:51:16,436 INFO L87 Difference]: Start difference. First operand 2406 states and 3425 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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-07 13:51:21,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:21,078 INFO L93 Difference]: Finished difference Result 2467 states and 3485 transitions. [2022-04-07 13:51:21,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:51:21,079 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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 67 [2022-04-07 13:51:21,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:51:21,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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-07 13:51:21,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-07 13:51:21,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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-07 13:51:21,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-07 13:51:21,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-04-07 13:51:21,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:21,412 INFO L225 Difference]: With dead ends: 2467 [2022-04-07 13:51:21,413 INFO L226 Difference]: Without dead ends: 2465 [2022-04-07 13:51:21,413 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 122 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-07 13:51:21,415 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 12 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:51:21,415 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 147 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:51:21,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2465 states. [2022-04-07 13:51:25,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2465 to 2442. [2022-04-07 13:51:25,503 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:51:25,506 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2465 states. Second operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:25,509 INFO L74 IsIncluded]: Start isIncluded. First operand 2465 states. Second operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:25,512 INFO L87 Difference]: Start difference. First operand 2465 states. Second operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:25,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:25,762 INFO L93 Difference]: Finished difference Result 2465 states and 3473 transitions. [2022-04-07 13:51:25,762 INFO L276 IsEmpty]: Start isEmpty. Operand 2465 states and 3473 transitions. [2022-04-07 13:51:25,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:25,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:25,772 INFO L74 IsIncluded]: Start isIncluded. First operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) Second operand 2465 states. [2022-04-07 13:51:25,775 INFO L87 Difference]: Start difference. First operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) Second operand 2465 states. [2022-04-07 13:51:26,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:26,041 INFO L93 Difference]: Finished difference Result 2465 states and 3473 transitions. [2022-04-07 13:51:26,041 INFO L276 IsEmpty]: Start isEmpty. Operand 2465 states and 3473 transitions. [2022-04-07 13:51:26,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:26,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:26,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:51:26,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:51:26,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2442 states, 1685 states have (on average 1.3032640949554897) internal successors, (2196), 1744 states have internal predecessors, (2196), 631 states have call successors, (631), 126 states have call predecessors, (631), 125 states have return successors, (623), 571 states have call predecessors, (623), 623 states have call successors, (623) [2022-04-07 13:51:26,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2442 states to 2442 states and 3450 transitions. [2022-04-07 13:51:26,415 INFO L78 Accepts]: Start accepts. Automaton has 2442 states and 3450 transitions. Word has length 67 [2022-04-07 13:51:26,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:51:26,415 INFO L478 AbstractCegarLoop]: Abstraction has 2442 states and 3450 transitions. [2022-04-07 13:51:26,415 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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-07 13:51:26,415 INFO L276 IsEmpty]: Start isEmpty. Operand 2442 states and 3450 transitions. [2022-04-07 13:51:26,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-07 13:51:26,416 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:51:26,416 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:51:26,442 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-07 13:51:26,639 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:26,639 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:51:26,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:51:26,640 INFO L85 PathProgramCache]: Analyzing trace with hash -958869778, now seen corresponding path program 1 times [2022-04-07 13:51:26,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:51:26,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1474449854] [2022-04-07 13:51:26,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:26,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:51:26,655 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:51:26,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938299788] [2022-04-07 13:51:26,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:26,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:26,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:51:26,657 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:51:26,676 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-07 13:51:26,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:26,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-07 13:51:26,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:26,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:51:26,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {63174#true} call ULTIMATE.init(); {63174#true} is VALID [2022-04-07 13:51:26,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {63174#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {63174#true} is VALID [2022-04-07 13:51:26,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63174#true} {63174#true} #108#return; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {63174#true} call #t~ret9 := main(); {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 5: Hoare triple {63174#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L272 TraceCheckUtils]: 6: Hoare triple {63174#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 7: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63174#true} {63174#true} #94#return; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L272 TraceCheckUtils]: 11: Hoare triple {63174#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {63174#true} {63174#true} #96#return; {63174#true} is VALID [2022-04-07 13:51:26,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {63174#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {63174#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {63174#true} assume !!(#t~post6 < 100);havoc #t~post6; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {63174#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {63174#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 21: Hoare triple {63174#true} assume !!(#t~post7 < 100);havoc #t~post7; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 22: Hoare triple {63174#true} assume !(~c~0 >= ~b~0); {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {63174#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {63174#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {63174#true} assume !!(#t~post6 < 100);havoc #t~post6; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 26: Hoare triple {63174#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 27: Hoare triple {63174#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {63174#true} is VALID [2022-04-07 13:51:26,946 INFO L290 TraceCheckUtils]: 28: Hoare triple {63174#true} assume !!(#t~post7 < 100);havoc #t~post7; {63174#true} is VALID [2022-04-07 13:51:26,947 INFO L290 TraceCheckUtils]: 29: Hoare triple {63174#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,947 INFO L290 TraceCheckUtils]: 30: Hoare triple {63266#(<= main_~v~0 main_~b~0)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,947 INFO L290 TraceCheckUtils]: 31: Hoare triple {63266#(<= main_~v~0 main_~b~0)} assume !!(#t~post8 < 100);havoc #t~post8; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,947 INFO L272 TraceCheckUtils]: 32: Hoare triple {63266#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,948 INFO L290 TraceCheckUtils]: 34: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,948 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {63174#true} {63266#(<= main_~v~0 main_~b~0)} #98#return; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,948 INFO L272 TraceCheckUtils]: 37: Hoare triple {63266#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,949 INFO L290 TraceCheckUtils]: 38: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,949 INFO L290 TraceCheckUtils]: 39: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,949 INFO L290 TraceCheckUtils]: 40: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,949 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {63174#true} {63266#(<= main_~v~0 main_~b~0)} #100#return; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,949 INFO L272 TraceCheckUtils]: 42: Hoare triple {63266#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,949 INFO L290 TraceCheckUtils]: 43: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,950 INFO L290 TraceCheckUtils]: 44: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,950 INFO L290 TraceCheckUtils]: 45: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,950 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {63174#true} {63266#(<= main_~v~0 main_~b~0)} #102#return; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,950 INFO L272 TraceCheckUtils]: 47: Hoare triple {63266#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {63174#true} is VALID [2022-04-07 13:51:26,950 INFO L290 TraceCheckUtils]: 48: Hoare triple {63174#true} ~cond := #in~cond; {63174#true} is VALID [2022-04-07 13:51:26,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {63174#true} assume !(0 == ~cond); {63174#true} is VALID [2022-04-07 13:51:26,951 INFO L290 TraceCheckUtils]: 50: Hoare triple {63174#true} assume true; {63174#true} is VALID [2022-04-07 13:51:26,951 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {63174#true} {63266#(<= main_~v~0 main_~b~0)} #104#return; {63266#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 13:51:26,951 INFO L290 TraceCheckUtils]: 52: Hoare triple {63266#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {63336#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-07 13:51:26,952 INFO L290 TraceCheckUtils]: 53: Hoare triple {63336#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {63340#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 13:51:26,953 INFO L290 TraceCheckUtils]: 54: Hoare triple {63340#(< main_~c~0 main_~b~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {63340#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 13:51:26,953 INFO L290 TraceCheckUtils]: 55: Hoare triple {63340#(< main_~c~0 main_~b~0)} assume !!(#t~post7 < 100);havoc #t~post7; {63340#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 13:51:26,953 INFO L290 TraceCheckUtils]: 56: Hoare triple {63340#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {63175#false} is VALID [2022-04-07 13:51:26,953 INFO L290 TraceCheckUtils]: 57: Hoare triple {63175#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 58: Hoare triple {63175#false} assume !!(#t~post8 < 100);havoc #t~post8; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L272 TraceCheckUtils]: 59: Hoare triple {63175#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 60: Hoare triple {63175#false} ~cond := #in~cond; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 61: Hoare triple {63175#false} assume !(0 == ~cond); {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 62: Hoare triple {63175#false} assume true; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {63175#false} {63175#false} #98#return; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L272 TraceCheckUtils]: 64: Hoare triple {63175#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 65: Hoare triple {63175#false} ~cond := #in~cond; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 66: Hoare triple {63175#false} assume !(0 == ~cond); {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 67: Hoare triple {63175#false} assume true; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63175#false} {63175#false} #100#return; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L272 TraceCheckUtils]: 69: Hoare triple {63175#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 70: Hoare triple {63175#false} ~cond := #in~cond; {63175#false} is VALID [2022-04-07 13:51:26,954 INFO L290 TraceCheckUtils]: 71: Hoare triple {63175#false} assume 0 == ~cond; {63175#false} is VALID [2022-04-07 13:51:26,955 INFO L290 TraceCheckUtils]: 72: Hoare triple {63175#false} assume !false; {63175#false} is VALID [2022-04-07 13:51:26,955 INFO L134 CoverageAnalysis]: Checked inductivity of 93 backedges. 51 proven. 0 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2022-04-07 13:51:26,955 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:51:26,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:51:26,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1474449854] [2022-04-07 13:51:26,955 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:51:26,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938299788] [2022-04-07 13:51:26,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938299788] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:51:26,955 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:51:26,955 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:51:26,955 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [684649867] [2022-04-07 13:51:26,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:51:26,956 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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 73 [2022-04-07 13:51:26,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:51:26,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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-07 13:51:27,008 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-07 13:51:27,008 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:51:27,008 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:51:27,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:51:27,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:51:27,009 INFO L87 Difference]: Start difference. First operand 2442 states and 3450 transitions. Second operand has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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-07 13:51:32,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:32,077 INFO L93 Difference]: Finished difference Result 4377 states and 6175 transitions. [2022-04-07 13:51:32,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:51:32,077 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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 73 [2022-04-07 13:51:32,077 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:51:32,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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-07 13:51:32,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-04-07 13:51:32,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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-07 13:51:32,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-04-07 13:51:32,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 104 transitions. [2022-04-07 13:51:32,158 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:51:32,471 INFO L225 Difference]: With dead ends: 4377 [2022-04-07 13:51:32,471 INFO L226 Difference]: Without dead ends: 2578 [2022-04-07 13:51:32,475 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-07 13:51:32,476 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 12 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:51:32,476 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 150 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:51:32,478 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2578 states. [2022-04-07 13:51:36,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2578 to 2372. [2022-04-07 13:51:36,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:51:36,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2578 states. Second operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) [2022-04-07 13:51:36,430 INFO L74 IsIncluded]: Start isIncluded. First operand 2578 states. Second operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) [2022-04-07 13:51:36,433 INFO L87 Difference]: Start difference. First operand 2578 states. Second operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) [2022-04-07 13:51:36,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:36,705 INFO L93 Difference]: Finished difference Result 2578 states and 3563 transitions. [2022-04-07 13:51:36,705 INFO L276 IsEmpty]: Start isEmpty. Operand 2578 states and 3563 transitions. [2022-04-07 13:51:36,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:36,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:36,714 INFO L74 IsIncluded]: Start isIncluded. First operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) Second operand 2578 states. [2022-04-07 13:51:36,716 INFO L87 Difference]: Start difference. First operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) Second operand 2578 states. [2022-04-07 13:51:36,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:36,990 INFO L93 Difference]: Finished difference Result 2578 states and 3563 transitions. [2022-04-07 13:51:36,990 INFO L276 IsEmpty]: Start isEmpty. Operand 2578 states and 3563 transitions. [2022-04-07 13:51:36,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:51:36,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:51:36,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:51:36,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:51:37,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2372 states, 1689 states have (on average 1.2948490230905862) internal successors, (2187), 1720 states have internal predecessors, (2187), 559 states have call successors, (559), 124 states have call predecessors, (559), 123 states have return successors, (551), 527 states have call predecessors, (551), 551 states have call successors, (551) [2022-04-07 13:51:37,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2372 states to 2372 states and 3297 transitions. [2022-04-07 13:51:37,357 INFO L78 Accepts]: Start accepts. Automaton has 2372 states and 3297 transitions. Word has length 73 [2022-04-07 13:51:37,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:51:37,357 INFO L478 AbstractCegarLoop]: Abstraction has 2372 states and 3297 transitions. [2022-04-07 13:51:37,357 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.4) internal successors, (32), 5 states have internal predecessors, (32), 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-07 13:51:37,357 INFO L276 IsEmpty]: Start isEmpty. Operand 2372 states and 3297 transitions. [2022-04-07 13:51:37,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-07 13:51:37,358 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:51:37,358 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:51:37,378 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-07 13:51:37,569 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:37,570 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:51:37,570 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:51:37,570 INFO L85 PathProgramCache]: Analyzing trace with hash -705069158, now seen corresponding path program 2 times [2022-04-07 13:51:37,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:51:37,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127027378] [2022-04-07 13:51:37,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:51:37,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:51:37,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:51:37,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [902458132] [2022-04-07 13:51:37,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:51:37,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:51:37,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:51:37,594 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:51:37,602 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-07 13:51:37,662 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:51:37,662 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:51:37,664 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-07 13:51:37,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:51:37,680 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:51:39,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {78332#true} call ULTIMATE.init(); {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {78332#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78332#true} {78332#true} #108#return; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {78332#true} call #t~ret9 := main(); {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {78332#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {78332#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {78332#true} {78332#true} #94#return; {78332#true} is VALID [2022-04-07 13:51:39,403 INFO L272 TraceCheckUtils]: 11: Hoare triple {78332#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,404 INFO L290 TraceCheckUtils]: 12: Hoare triple {78332#true} ~cond := #in~cond; {78373#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:51:39,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {78373#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {78377#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:51:39,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {78377#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {78377#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:51:39,405 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {78377#(not (= |assume_abort_if_not_#in~cond| 0))} {78332#true} #96#return; {78384#(<= 1 main_~y~0)} is VALID [2022-04-07 13:51:39,405 INFO L290 TraceCheckUtils]: 16: Hoare triple {78384#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,406 INFO L290 TraceCheckUtils]: 18: Hoare triple {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {78388#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,407 INFO L290 TraceCheckUtils]: 20: Hoare triple {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,407 INFO L290 TraceCheckUtils]: 21: Hoare triple {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,407 INFO L290 TraceCheckUtils]: 22: Hoare triple {78398#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {78408#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {78408#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,408 INFO L290 TraceCheckUtils]: 24: Hoare triple {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {78412#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,410 INFO L290 TraceCheckUtils]: 27: Hoare triple {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,410 INFO L290 TraceCheckUtils]: 28: Hoare triple {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(#t~post7 < 100);havoc #t~post7; {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,411 INFO L290 TraceCheckUtils]: 29: Hoare triple {78422#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,411 INFO L290 TraceCheckUtils]: 30: Hoare triple {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,411 INFO L290 TraceCheckUtils]: 31: Hoare triple {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(#t~post8 < 100);havoc #t~post8; {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 13:51:39,412 INFO L272 TraceCheckUtils]: 32: Hoare triple {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {78332#true} ~cond := #in~cond; {78445#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:51:39,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {78445#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:51:39,412 INFO L290 TraceCheckUtils]: 35: Hoare triple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:51:39,414 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} {78432#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0))} #98#return; {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,414 INFO L272 TraceCheckUtils]: 37: Hoare triple {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~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)); {78332#true} is VALID [2022-04-07 13:51:39,414 INFO L290 TraceCheckUtils]: 38: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:51:39,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:51:39,414 INFO L290 TraceCheckUtils]: 40: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:51:39,415 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {78332#true} {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #100#return; {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,415 INFO L272 TraceCheckUtils]: 42: Hoare triple {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:51:39,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:51:39,415 INFO L290 TraceCheckUtils]: 45: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:51:39,416 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {78332#true} {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #102#return; {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,416 INFO L272 TraceCheckUtils]: 47: Hoare triple {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,416 INFO L290 TraceCheckUtils]: 48: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:51:39,416 INFO L290 TraceCheckUtils]: 49: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:51:39,416 INFO L290 TraceCheckUtils]: 50: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:51:39,417 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {78332#true} {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,417 INFO L290 TraceCheckUtils]: 52: Hoare triple {78456#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= 1 main_~y~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {78505#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (< main_~c~0 (* main_~v~0 2)) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,418 INFO L290 TraceCheckUtils]: 53: Hoare triple {78505#(and (= main_~b~0 main_~v~0) (< main_~x~0 main_~c~0) (< main_~c~0 (* main_~v~0 2)) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,419 INFO L290 TraceCheckUtils]: 54: Hoare triple {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,421 INFO L290 TraceCheckUtils]: 56: Hoare triple {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:51:39,422 INFO L290 TraceCheckUtils]: 57: Hoare triple {78509#(and (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 2)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,423 INFO L290 TraceCheckUtils]: 58: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,423 INFO L290 TraceCheckUtils]: 59: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,424 INFO L290 TraceCheckUtils]: 60: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,424 INFO L290 TraceCheckUtils]: 61: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,425 INFO L290 TraceCheckUtils]: 62: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,425 INFO L290 TraceCheckUtils]: 63: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,425 INFO L290 TraceCheckUtils]: 64: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,426 INFO L290 TraceCheckUtils]: 65: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:51:39,426 INFO L272 TraceCheckUtils]: 66: Hoare triple {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:51:39,426 INFO L290 TraceCheckUtils]: 67: Hoare triple {78332#true} ~cond := #in~cond; {78445#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:51:39,426 INFO L290 TraceCheckUtils]: 68: Hoare triple {78445#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:51:39,427 INFO L290 TraceCheckUtils]: 69: Hoare triple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:51:39,428 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} {78522#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #98#return; {78562#(and (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (+ main_~q~0 1) 0))} is VALID [2022-04-07 13:51:39,428 INFO L272 TraceCheckUtils]: 71: Hoare triple {78562#(and (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {78566#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:51:39,429 INFO L290 TraceCheckUtils]: 72: Hoare triple {78566#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {78570#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:51:39,429 INFO L290 TraceCheckUtils]: 73: Hoare triple {78570#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {78333#false} is VALID [2022-04-07 13:51:39,429 INFO L290 TraceCheckUtils]: 74: Hoare triple {78333#false} assume !false; {78333#false} is VALID [2022-04-07 13:51:39,430 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 20 proven. 43 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-07 13:51:39,430 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:52:26,769 INFO L290 TraceCheckUtils]: 74: Hoare triple {78333#false} assume !false; {78333#false} is VALID [2022-04-07 13:52:26,770 INFO L290 TraceCheckUtils]: 73: Hoare triple {78570#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {78333#false} is VALID [2022-04-07 13:52:26,771 INFO L290 TraceCheckUtils]: 72: Hoare triple {78566#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {78570#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:26,771 INFO L272 TraceCheckUtils]: 71: Hoare triple {78586#(= 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)); {78566#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:52:26,772 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #98#return; {78586#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:52:26,772 INFO L290 TraceCheckUtils]: 69: Hoare triple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:26,773 INFO L290 TraceCheckUtils]: 68: Hoare triple {78600#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:26,773 INFO L290 TraceCheckUtils]: 67: Hoare triple {78332#true} ~cond := #in~cond; {78600#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:52:26,773 INFO L272 TraceCheckUtils]: 66: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= 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)); {78332#true} is VALID [2022-04-07 13:52:26,773 INFO L290 TraceCheckUtils]: 65: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post8 < 100);havoc #t~post8; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,774 INFO L290 TraceCheckUtils]: 64: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,774 INFO L290 TraceCheckUtils]: 63: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,775 INFO L290 TraceCheckUtils]: 62: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post7 < 100);havoc #t~post7; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,775 INFO L290 TraceCheckUtils]: 61: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,775 INFO L290 TraceCheckUtils]: 60: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,776 INFO L290 TraceCheckUtils]: 59: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,793 INFO L290 TraceCheckUtils]: 57: Hoare triple {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {78590#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-07 13:52:26,793 INFO L290 TraceCheckUtils]: 56: Hoare triple {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,794 INFO L290 TraceCheckUtils]: 55: Hoare triple {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post7 < 100);havoc #t~post7; {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,794 INFO L290 TraceCheckUtils]: 54: Hoare triple {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,799 INFO L290 TraceCheckUtils]: 53: Hoare triple {78644#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {78631#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {78644#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,800 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {78332#true} {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,800 INFO L290 TraceCheckUtils]: 50: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:52:26,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:52:26,800 INFO L272 TraceCheckUtils]: 47: Hoare triple {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:52:26,804 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {78332#true} {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,804 INFO L290 TraceCheckUtils]: 45: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,804 INFO L290 TraceCheckUtils]: 44: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:52:26,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:52:26,804 INFO L272 TraceCheckUtils]: 42: Hoare triple {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:52:26,805 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {78332#true} {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #100#return; {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,805 INFO L290 TraceCheckUtils]: 40: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:52:26,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:52:26,806 INFO L272 TraceCheckUtils]: 37: Hoare triple {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~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)); {78332#true} is VALID [2022-04-07 13:52:26,807 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #98#return; {78648#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:26,808 INFO L290 TraceCheckUtils]: 34: Hoare triple {78600#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {78449#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:26,808 INFO L290 TraceCheckUtils]: 33: Hoare triple {78332#true} ~cond := #in~cond; {78600#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:52:26,808 INFO L272 TraceCheckUtils]: 32: Hoare triple {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {78332#true} is VALID [2022-04-07 13:52:26,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post8 < 100);havoc #t~post8; {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,811 INFO L290 TraceCheckUtils]: 29: Hoare triple {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {78697#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post7 < 100);havoc #t~post7; {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,812 INFO L290 TraceCheckUtils]: 27: Hoare triple {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 26: Hoare triple {78332#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78719#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {78332#true} assume !!(#t~post6 < 100);havoc #t~post6; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 24: Hoare triple {78332#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {78332#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {78332#true} assume !(~c~0 >= ~b~0); {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {78332#true} assume !!(#t~post7 < 100);havoc #t~post7; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {78332#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 19: Hoare triple {78332#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {78332#true} assume !!(#t~post6 < 100);havoc #t~post6; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {78332#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {78332#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {78332#true} {78332#true} #96#return; {78332#true} is VALID [2022-04-07 13:52:26,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 12: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L272 TraceCheckUtils]: 11: Hoare triple {78332#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {78332#true} {78332#true} #94#return; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {78332#true} assume !(0 == ~cond); {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {78332#true} ~cond := #in~cond; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {78332#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {78332#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {78332#true} call #t~ret9 := main(); {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78332#true} {78332#true} #108#return; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {78332#true} assume true; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {78332#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {78332#true} is VALID [2022-04-07 13:52:26,815 INFO L272 TraceCheckUtils]: 0: Hoare triple {78332#true} call ULTIMATE.init(); {78332#true} is VALID [2022-04-07 13:52:26,827 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 36 proven. 21 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-07 13:52:26,827 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:52:26,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1127027378] [2022-04-07 13:52:26,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:52:26,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [902458132] [2022-04-07 13:52:26,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [902458132] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:52:26,828 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:52:26,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 13] total 28 [2022-04-07 13:52:26,828 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [511609295] [2022-04-07 13:52:26,828 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:52:26,828 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) Word has length 75 [2022-04-07 13:52:26,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:52:26,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-07 13:52:27,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:52:27,036 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-07 13:52:27,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:52:27,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-07 13:52:27,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=631, Unknown=0, NotChecked=0, Total=756 [2022-04-07 13:52:27,037 INFO L87 Difference]: Start difference. First operand 2372 states and 3297 transitions. Second operand has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-07 13:52:47,578 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:52:49,611 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:53:12,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:53:12,429 INFO L93 Difference]: Finished difference Result 2869 states and 3894 transitions. [2022-04-07 13:53:12,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-07 13:53:12,429 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) Word has length 75 [2022-04-07 13:53:12,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:53:12,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-07 13:53:12,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 245 transitions. [2022-04-07 13:53:12,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-07 13:53:12,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 245 transitions. [2022-04-07 13:53:12,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 245 transitions. [2022-04-07 13:53:13,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 245 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:53:13,383 INFO L225 Difference]: With dead ends: 2869 [2022-04-07 13:53:13,383 INFO L226 Difference]: Without dead ends: 2863 [2022-04-07 13:53:13,384 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 607 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=469, Invalid=1981, Unknown=0, NotChecked=0, Total=2450 [2022-04-07 13:53:13,384 INFO L913 BasicCegarLoop]: 61 mSDtfsCounter, 285 mSDsluCounter, 685 mSDsCounter, 0 mSdLazyCounter, 1326 mSolverCounterSat, 286 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 17.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 291 SdHoareTripleChecker+Valid, 746 SdHoareTripleChecker+Invalid, 1613 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 286 IncrementalHoareTripleChecker+Valid, 1326 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 17.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:53:13,385 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [291 Valid, 746 Invalid, 1613 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [286 Valid, 1326 Invalid, 1 Unknown, 0 Unchecked, 17.2s Time] [2022-04-07 13:53:13,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2863 states. [2022-04-07 13:53:18,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2863 to 2736. [2022-04-07 13:53:18,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:53:18,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2863 states. Second operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) [2022-04-07 13:53:18,123 INFO L74 IsIncluded]: Start isIncluded. First operand 2863 states. Second operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) [2022-04-07 13:53:18,126 INFO L87 Difference]: Start difference. First operand 2863 states. Second operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) [2022-04-07 13:53:18,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:53:18,447 INFO L93 Difference]: Finished difference Result 2863 states and 3880 transitions. [2022-04-07 13:53:18,447 INFO L276 IsEmpty]: Start isEmpty. Operand 2863 states and 3880 transitions. [2022-04-07 13:53:18,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:53:18,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:53:18,457 INFO L74 IsIncluded]: Start isIncluded. First operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) Second operand 2863 states. [2022-04-07 13:53:18,460 INFO L87 Difference]: Start difference. First operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) Second operand 2863 states. [2022-04-07 13:53:18,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:53:18,792 INFO L93 Difference]: Finished difference Result 2863 states and 3880 transitions. [2022-04-07 13:53:18,793 INFO L276 IsEmpty]: Start isEmpty. Operand 2863 states and 3880 transitions. [2022-04-07 13:53:18,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:53:18,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:53:18,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:53:18,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:53:18,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2736 states, 1985 states have (on average 1.2916876574307306) internal successors, (2564), 2026 states have internal predecessors, (2564), 594 states have call successors, (594), 158 states have call predecessors, (594), 156 states have return successors, (587), 551 states have call predecessors, (587), 587 states have call successors, (587) [2022-04-07 13:53:19,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2736 states to 2736 states and 3745 transitions. [2022-04-07 13:53:19,234 INFO L78 Accepts]: Start accepts. Automaton has 2736 states and 3745 transitions. Word has length 75 [2022-04-07 13:53:19,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:53:19,234 INFO L478 AbstractCegarLoop]: Abstraction has 2736 states and 3745 transitions. [2022-04-07 13:53:19,234 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 26 states have (on average 3.0) internal successors, (78), 22 states have internal predecessors, (78), 9 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 6 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-07 13:53:19,234 INFO L276 IsEmpty]: Start isEmpty. Operand 2736 states and 3745 transitions. [2022-04-07 13:53:19,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-07 13:53:19,235 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:53:19,235 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:53:19,251 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-07 13:53:19,436 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-07 13:53:19,436 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:53:19,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:53:19,436 INFO L85 PathProgramCache]: Analyzing trace with hash -1082523945, now seen corresponding path program 1 times [2022-04-07 13:53:19,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:53:19,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1064187022] [2022-04-07 13:53:19,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:53:19,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:53:19,449 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:53:19,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [625351527] [2022-04-07 13:53:19,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:53:19,450 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:53:19,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:53:19,450 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:53:19,451 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-07 13:53:19,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:53:19,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 86 conjunts are in the unsatisfiable core [2022-04-07 13:53:19,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:53:19,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:53:21,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {92629#true} call ULTIMATE.init(); {92629#true} is VALID [2022-04-07 13:53:21,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {92629#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92629#true} {92629#true} #108#return; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {92629#true} call #t~ret9 := main(); {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {92629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {92629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92629#true} {92629#true} #94#return; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L272 TraceCheckUtils]: 11: Hoare triple {92629#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 12: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,646 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {92629#true} {92629#true} #96#return; {92629#true} is VALID [2022-04-07 13:53:21,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {92629#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:53:21,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:53:21,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:53:21,648 INFO L290 TraceCheckUtils]: 19: Hoare triple {92682#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:53:21,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:53:21,648 INFO L290 TraceCheckUtils]: 21: Hoare triple {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:53:21,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {92692#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {92702#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:53:21,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {92702#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,651 INFO L290 TraceCheckUtils]: 25: Hoare triple {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,651 INFO L290 TraceCheckUtils]: 26: Hoare triple {92706#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,652 INFO L290 TraceCheckUtils]: 28: Hoare triple {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 13:53:21,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {92716#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,653 INFO L290 TraceCheckUtils]: 30: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,653 INFO L272 TraceCheckUtils]: 32: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,653 INFO L290 TraceCheckUtils]: 34: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,654 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {92629#true} {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #98#return; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,654 INFO L272 TraceCheckUtils]: 37: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,654 INFO L290 TraceCheckUtils]: 39: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,655 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {92629#true} {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #100#return; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,655 INFO L272 TraceCheckUtils]: 42: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,656 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {92629#true} {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,656 INFO L272 TraceCheckUtils]: 47: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,656 INFO L290 TraceCheckUtils]: 48: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,656 INFO L290 TraceCheckUtils]: 50: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,657 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {92629#true} {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 13:53:21,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {92726#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-07 13:53:21,658 INFO L290 TraceCheckUtils]: 53: Hoare triple {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-07 13:53:21,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !!(#t~post8 < 100);havoc #t~post8; {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-07 13:53:21,658 INFO L272 TraceCheckUtils]: 55: Hoare triple {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,659 INFO L290 TraceCheckUtils]: 56: Hoare triple {92629#true} ~cond := #in~cond; {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:53:21,659 INFO L290 TraceCheckUtils]: 57: Hoare triple {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,659 INFO L290 TraceCheckUtils]: 58: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,661 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {92796#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #98#return; {92820#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,661 INFO L272 TraceCheckUtils]: 60: Hoare triple {92820#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~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)); {92629#true} is VALID [2022-04-07 13:53:21,661 INFO L290 TraceCheckUtils]: 61: Hoare triple {92629#true} ~cond := #in~cond; {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:53:21,661 INFO L290 TraceCheckUtils]: 62: Hoare triple {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,662 INFO L290 TraceCheckUtils]: 63: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,663 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {92820#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #100#return; {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,663 INFO L272 TraceCheckUtils]: 65: Hoare triple {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,663 INFO L290 TraceCheckUtils]: 66: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:53:21,663 INFO L290 TraceCheckUtils]: 67: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:53:21,663 INFO L290 TraceCheckUtils]: 68: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:53:21,664 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {92629#true} {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #102#return; {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,664 INFO L272 TraceCheckUtils]: 70: Hoare triple {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:53:21,664 INFO L290 TraceCheckUtils]: 71: Hoare triple {92629#true} ~cond := #in~cond; {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:53:21,664 INFO L290 TraceCheckUtils]: 72: Hoare triple {92809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,664 INFO L290 TraceCheckUtils]: 73: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:53:21,665 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,666 INFO L290 TraceCheckUtils]: 75: Hoare triple {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,667 INFO L290 TraceCheckUtils]: 76: Hoare triple {92836#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,667 INFO L290 TraceCheckUtils]: 77: Hoare triple {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,668 INFO L290 TraceCheckUtils]: 78: Hoare triple {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,668 INFO L290 TraceCheckUtils]: 79: Hoare triple {92873#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {92883#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 13:53:21,669 INFO L290 TraceCheckUtils]: 80: Hoare triple {92883#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-07 13:53:21,670 INFO L290 TraceCheckUtils]: 81: Hoare triple {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-07 13:53:21,670 INFO L290 TraceCheckUtils]: 82: Hoare triple {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-07 13:53:21,671 INFO L290 TraceCheckUtils]: 83: Hoare triple {92887#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (<= (* 2 (* main_~p~0 main_~x~0)) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !(0 != ~b~0); {92897#(and (= main_~r~0 0) (= main_~y~0 (* 2 (* main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-07 13:53:21,672 INFO L272 TraceCheckUtils]: 84: Hoare triple {92897#(and (= main_~r~0 0) (= main_~y~0 (* 2 (* main_~p~0 main_~x~0))) (= main_~s~0 1) (< main_~y~0 (* 3 (* main_~p~0 main_~x~0))) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {92901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:53:21,673 INFO L290 TraceCheckUtils]: 85: Hoare triple {92901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {92905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:53:21,673 INFO L290 TraceCheckUtils]: 86: Hoare triple {92905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {92630#false} is VALID [2022-04-07 13:53:21,673 INFO L290 TraceCheckUtils]: 87: Hoare triple {92630#false} assume !false; {92630#false} is VALID [2022-04-07 13:53:21,674 INFO L134 CoverageAnalysis]: Checked inductivity of 158 backedges. 52 proven. 35 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-04-07 13:53:21,674 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:54:38,729 INFO L290 TraceCheckUtils]: 87: Hoare triple {92630#false} assume !false; {92630#false} is VALID [2022-04-07 13:54:38,729 INFO L290 TraceCheckUtils]: 86: Hoare triple {92905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {92630#false} is VALID [2022-04-07 13:54:38,730 INFO L290 TraceCheckUtils]: 85: Hoare triple {92901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {92905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:54:38,730 INFO L272 TraceCheckUtils]: 84: Hoare triple {92921#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {92901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:54:38,731 INFO L290 TraceCheckUtils]: 83: Hoare triple {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {92921#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:54:38,731 INFO L290 TraceCheckUtils]: 82: Hoare triple {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:54:38,732 INFO L290 TraceCheckUtils]: 81: Hoare triple {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:54:38,949 INFO L290 TraceCheckUtils]: 80: Hoare triple {92935#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {92925#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:54:38,950 INFO L290 TraceCheckUtils]: 79: Hoare triple {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {92935#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:38,950 INFO L290 TraceCheckUtils]: 78: Hoare triple {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:38,951 INFO L290 TraceCheckUtils]: 77: Hoare triple {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,200 INFO L290 TraceCheckUtils]: 76: Hoare triple {92949#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {92939#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,201 INFO L290 TraceCheckUtils]: 75: Hoare triple {92949#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {92949#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,202 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {92949#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,202 INFO L290 TraceCheckUtils]: 73: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,202 INFO L290 TraceCheckUtils]: 72: Hoare triple {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,202 INFO L290 TraceCheckUtils]: 71: Hoare triple {92629#true} ~cond := #in~cond; {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:54:39,203 INFO L272 TraceCheckUtils]: 70: Hoare triple {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,203 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {92629#true} {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,203 INFO L290 TraceCheckUtils]: 68: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,203 INFO L290 TraceCheckUtils]: 67: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,203 INFO L290 TraceCheckUtils]: 66: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,204 INFO L272 TraceCheckUtils]: 65: Hoare triple {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,205 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {92988#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #100#return; {92956#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,205 INFO L290 TraceCheckUtils]: 63: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,205 INFO L290 TraceCheckUtils]: 62: Hoare triple {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,205 INFO L290 TraceCheckUtils]: 61: Hoare triple {92629#true} ~cond := #in~cond; {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:54:39,205 INFO L272 TraceCheckUtils]: 60: Hoare triple {92988#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {92629#true} is VALID [2022-04-07 13:54:39,207 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #98#return; {92988#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,207 INFO L290 TraceCheckUtils]: 58: Hoare triple {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,207 INFO L290 TraceCheckUtils]: 57: Hoare triple {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {92813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:54:39,208 INFO L290 TraceCheckUtils]: 56: Hoare triple {92629#true} ~cond := #in~cond; {92966#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:54:39,208 INFO L272 TraceCheckUtils]: 55: Hoare triple {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {92629#true} is VALID [2022-04-07 13:54:39,208 INFO L290 TraceCheckUtils]: 54: Hoare triple {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post8 < 100);havoc #t~post8; {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,209 INFO L290 TraceCheckUtils]: 53: Hoare triple {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,231 INFO L290 TraceCheckUtils]: 52: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {93004#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:54:39,232 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {92629#true} {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #104#return; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,232 INFO L290 TraceCheckUtils]: 50: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,232 INFO L290 TraceCheckUtils]: 49: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,233 INFO L290 TraceCheckUtils]: 48: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,233 INFO L272 TraceCheckUtils]: 47: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,233 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {92629#true} {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #102#return; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,233 INFO L290 TraceCheckUtils]: 45: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,233 INFO L290 TraceCheckUtils]: 44: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,233 INFO L290 TraceCheckUtils]: 43: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,234 INFO L272 TraceCheckUtils]: 42: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,234 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {92629#true} {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #100#return; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,234 INFO L290 TraceCheckUtils]: 40: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,234 INFO L290 TraceCheckUtils]: 38: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,234 INFO L272 TraceCheckUtils]: 37: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,235 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {92629#true} {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #98#return; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,235 INFO L272 TraceCheckUtils]: 32: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} assume !!(#t~post8 < 100);havoc #t~post8; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {93026#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-07 13:54:39,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-07 13:54:39,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-07 13:54:39,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {92629#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {93096#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-07 13:54:39,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {92629#true} assume !!(#t~post6 < 100);havoc #t~post6; {92629#true} is VALID [2022-04-07 13:54:39,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {92629#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {92629#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {92629#true} assume !(~c~0 >= ~b~0); {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {92629#true} assume !!(#t~post7 < 100);havoc #t~post7; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {92629#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {92629#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {92629#true} assume !!(#t~post6 < 100);havoc #t~post6; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {92629#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {92629#true} is VALID [2022-04-07 13:54:39,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {92629#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {92629#true} {92629#true} #96#return; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L272 TraceCheckUtils]: 11: Hoare triple {92629#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92629#true} {92629#true} #94#return; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {92629#true} assume !(0 == ~cond); {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {92629#true} ~cond := #in~cond; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L272 TraceCheckUtils]: 6: Hoare triple {92629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {92629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {92629#true} call #t~ret9 := main(); {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92629#true} {92629#true} #108#return; {92629#true} is VALID [2022-04-07 13:54:39,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {92629#true} assume true; {92629#true} is VALID [2022-04-07 13:54:39,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {92629#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {92629#true} is VALID [2022-04-07 13:54:39,245 INFO L272 TraceCheckUtils]: 0: Hoare triple {92629#true} call ULTIMATE.init(); {92629#true} is VALID [2022-04-07 13:54:39,262 INFO L134 CoverageAnalysis]: Checked inductivity of 158 backedges. 65 proven. 19 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-07 13:54:39,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:54:39,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1064187022] [2022-04-07 13:54:39,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:54:39,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [625351527] [2022-04-07 13:54:39,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [625351527] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:54:39,263 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:54:39,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 16] total 30 [2022-04-07 13:54:39,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [133089213] [2022-04-07 13:54:39,263 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:54:39,263 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) Word has length 88 [2022-04-07 13:54:39,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:54:39,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:54:39,628 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:54:39,628 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-07 13:54:39,628 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:54:39,629 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-07 13:54:39,629 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=728, Unknown=0, NotChecked=0, Total=870 [2022-04-07 13:54:39,629 INFO L87 Difference]: Start difference. First operand 2736 states and 3745 transitions. Second operand has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:54:56,932 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:55:05,035 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:55:22,310 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:55:31,296 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:55:57,875 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:56:00,242 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:56:21,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:56:21,856 INFO L93 Difference]: Finished difference Result 3539 states and 4864 transitions. [2022-04-07 13:56:21,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2022-04-07 13:56:21,856 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) Word has length 88 [2022-04-07 13:56:21,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:56:21,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:56:21,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 422 transitions. [2022-04-07 13:56:21,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:56:21,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 422 transitions. [2022-04-07 13:56:21,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 422 transitions. [2022-04-07 13:56:33,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 422 edges. 419 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-07 13:56:34,105 INFO L225 Difference]: With dead ends: 3539 [2022-04-07 13:56:34,106 INFO L226 Difference]: Without dead ends: 3508 [2022-04-07 13:56:34,108 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 268 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 101 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3430 ImplicationChecksByTransitivity, 41.8s TimeCoverageRelationStatistics Valid=1724, Invalid=8782, Unknown=0, NotChecked=0, Total=10506 [2022-04-07 13:56:34,108 INFO L913 BasicCegarLoop]: 88 mSDtfsCounter, 419 mSDsluCounter, 796 mSDsCounter, 0 mSdLazyCounter, 1715 mSolverCounterSat, 559 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 28.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 419 SdHoareTripleChecker+Valid, 884 SdHoareTripleChecker+Invalid, 2280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 559 IncrementalHoareTripleChecker+Valid, 1715 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 28.8s IncrementalHoareTripleChecker+Time [2022-04-07 13:56:34,108 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [419 Valid, 884 Invalid, 2280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [559 Valid, 1715 Invalid, 6 Unknown, 0 Unchecked, 28.8s Time] [2022-04-07 13:56:34,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3508 states. [2022-04-07 13:56:40,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3508 to 3206. [2022-04-07 13:56:40,822 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:56:40,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 3508 states. Second operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:56:40,836 INFO L74 IsIncluded]: Start isIncluded. First operand 3508 states. Second operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:56:40,839 INFO L87 Difference]: Start difference. First operand 3508 states. Second operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:56:41,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:56:41,379 INFO L93 Difference]: Finished difference Result 3508 states and 4811 transitions. [2022-04-07 13:56:41,379 INFO L276 IsEmpty]: Start isEmpty. Operand 3508 states and 4811 transitions. [2022-04-07 13:56:41,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:56:41,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:56:41,390 INFO L74 IsIncluded]: Start isIncluded. First operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) Second operand 3508 states. [2022-04-07 13:56:41,394 INFO L87 Difference]: Start difference. First operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) Second operand 3508 states. [2022-04-07 13:56:41,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:56:41,943 INFO L93 Difference]: Finished difference Result 3508 states and 4811 transitions. [2022-04-07 13:56:41,943 INFO L276 IsEmpty]: Start isEmpty. Operand 3508 states and 4811 transitions. [2022-04-07 13:56:41,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:56:41,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:56:41,949 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:56:41,949 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:56:41,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3206 states, 2285 states have (on average 1.3037199124726477) internal successors, (2979), 2334 states have internal predecessors, (2979), 745 states have call successors, (745), 177 states have call predecessors, (745), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:56:42,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3206 states to 3206 states and 4462 transitions. [2022-04-07 13:56:42,448 INFO L78 Accepts]: Start accepts. Automaton has 3206 states and 4462 transitions. Word has length 88 [2022-04-07 13:56:42,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:56:42,448 INFO L478 AbstractCegarLoop]: Abstraction has 3206 states and 4462 transitions. [2022-04-07 13:56:42,448 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 25 states have (on average 2.84) internal successors, (71), 26 states have internal predecessors, (71), 11 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:56:42,449 INFO L276 IsEmpty]: Start isEmpty. Operand 3206 states and 4462 transitions. [2022-04-07 13:56:42,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-07 13:56:42,450 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:56:42,450 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 5, 5, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:56:42,474 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-07 13:56:42,663 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-07 13:56:42,663 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:56:42,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:56:42,664 INFO L85 PathProgramCache]: Analyzing trace with hash 516983514, now seen corresponding path program 3 times [2022-04-07 13:56:42,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:56:42,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1327508492] [2022-04-07 13:56:42,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:56:42,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:56:42,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:56:42,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [907365992] [2022-04-07 13:56:42,677 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 13:56:42,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:56:42,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:56:42,678 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:56:42,683 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-07 13:56:42,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-07 13:56:42,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:56:42,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-07 13:56:42,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:56:42,764 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:56:43,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {110063#true} call ULTIMATE.init(); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {110063#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {110063#true} {110063#true} #108#return; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L272 TraceCheckUtils]: 4: Hoare triple {110063#true} call #t~ret9 := main(); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 5: Hoare triple {110063#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L272 TraceCheckUtils]: 6: Hoare triple {110063#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 9: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {110063#true} {110063#true} #94#return; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L272 TraceCheckUtils]: 11: Hoare triple {110063#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 12: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,528 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {110063#true} {110063#true} #96#return; {110063#true} is VALID [2022-04-07 13:56:43,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {110063#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {110116#(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-07 13:56:43,529 INFO L290 TraceCheckUtils]: 17: Hoare triple {110116#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110116#(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-07 13:56:43,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {110116#(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 !!(#t~post6 < 100);havoc #t~post6; {110116#(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-07 13:56:43,530 INFO L290 TraceCheckUtils]: 19: Hoare triple {110116#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,530 INFO L290 TraceCheckUtils]: 20: Hoare triple {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,531 INFO L290 TraceCheckUtils]: 21: Hoare triple {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,531 INFO L290 TraceCheckUtils]: 22: Hoare triple {110126#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,532 INFO L290 TraceCheckUtils]: 24: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,532 INFO L272 TraceCheckUtils]: 25: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {110063#true} is VALID [2022-04-07 13:56:43,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,532 INFO L290 TraceCheckUtils]: 27: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,532 INFO L290 TraceCheckUtils]: 28: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,533 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {110063#true} {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #98#return; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,533 INFO L272 TraceCheckUtils]: 30: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {110063#true} is VALID [2022-04-07 13:56:43,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,533 INFO L290 TraceCheckUtils]: 32: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,533 INFO L290 TraceCheckUtils]: 33: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,536 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {110063#true} {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #100#return; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,536 INFO L272 TraceCheckUtils]: 35: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,536 INFO L290 TraceCheckUtils]: 38: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,537 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {110063#true} {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,537 INFO L272 TraceCheckUtils]: 40: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,537 INFO L290 TraceCheckUtils]: 41: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,537 INFO L290 TraceCheckUtils]: 42: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,537 INFO L290 TraceCheckUtils]: 43: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,538 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {110063#true} {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,539 INFO L290 TraceCheckUtils]: 45: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,539 INFO L290 TraceCheckUtils]: 46: Hoare triple {110136#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,540 INFO L290 TraceCheckUtils]: 47: Hoare triple {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,540 INFO L290 TraceCheckUtils]: 48: Hoare triple {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,541 INFO L290 TraceCheckUtils]: 50: Hoare triple {110209#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,542 INFO L290 TraceCheckUtils]: 51: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,542 INFO L290 TraceCheckUtils]: 52: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,543 INFO L290 TraceCheckUtils]: 53: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,543 INFO L290 TraceCheckUtils]: 54: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post7 < 100);havoc #t~post7; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,544 INFO L290 TraceCheckUtils]: 56: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,545 INFO L290 TraceCheckUtils]: 57: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,545 INFO L290 TraceCheckUtils]: 58: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post8 < 100);havoc #t~post8; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,545 INFO L272 TraceCheckUtils]: 59: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,545 INFO L290 TraceCheckUtils]: 60: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,545 INFO L290 TraceCheckUtils]: 61: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,546 INFO L290 TraceCheckUtils]: 62: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,546 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {110063#true} {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #98#return; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,546 INFO L272 TraceCheckUtils]: 64: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,546 INFO L290 TraceCheckUtils]: 65: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,547 INFO L290 TraceCheckUtils]: 66: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,547 INFO L290 TraceCheckUtils]: 67: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,547 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {110063#true} {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #100#return; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,547 INFO L272 TraceCheckUtils]: 69: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,547 INFO L290 TraceCheckUtils]: 70: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,547 INFO L290 TraceCheckUtils]: 71: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,548 INFO L290 TraceCheckUtils]: 72: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,548 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {110063#true} {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #102#return; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,548 INFO L272 TraceCheckUtils]: 74: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:43,548 INFO L290 TraceCheckUtils]: 75: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:43,549 INFO L290 TraceCheckUtils]: 76: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:43,549 INFO L290 TraceCheckUtils]: 77: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:43,549 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {110063#true} {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #104#return; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,550 INFO L290 TraceCheckUtils]: 79: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(~c~0 >= 2 * ~v~0); {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,550 INFO L290 TraceCheckUtils]: 80: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,551 INFO L290 TraceCheckUtils]: 81: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,551 INFO L290 TraceCheckUtils]: 82: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post7 < 100);havoc #t~post7; {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(~c~0 >= ~b~0); {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:56:43,552 INFO L290 TraceCheckUtils]: 84: Hoare triple {110222#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,552 INFO L290 TraceCheckUtils]: 85: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,553 INFO L290 TraceCheckUtils]: 86: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,553 INFO L290 TraceCheckUtils]: 87: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,554 INFO L290 TraceCheckUtils]: 88: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,554 INFO L290 TraceCheckUtils]: 89: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,555 INFO L290 TraceCheckUtils]: 90: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,555 INFO L290 TraceCheckUtils]: 91: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,555 INFO L290 TraceCheckUtils]: 92: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-07 13:56:43,556 INFO L272 TraceCheckUtils]: 93: Hoare triple {110325#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {110353#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:56:43,556 INFO L290 TraceCheckUtils]: 94: Hoare triple {110353#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {110357#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:56:43,557 INFO L290 TraceCheckUtils]: 95: Hoare triple {110357#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {110064#false} is VALID [2022-04-07 13:56:43,557 INFO L290 TraceCheckUtils]: 96: Hoare triple {110064#false} assume !false; {110064#false} is VALID [2022-04-07 13:56:43,557 INFO L134 CoverageAnalysis]: Checked inductivity of 186 backedges. 16 proven. 51 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2022-04-07 13:56:43,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:56:43,993 INFO L290 TraceCheckUtils]: 96: Hoare triple {110064#false} assume !false; {110064#false} is VALID [2022-04-07 13:56:43,994 INFO L290 TraceCheckUtils]: 95: Hoare triple {110357#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {110064#false} is VALID [2022-04-07 13:56:43,994 INFO L290 TraceCheckUtils]: 94: Hoare triple {110353#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {110357#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:56:43,995 INFO L272 TraceCheckUtils]: 93: Hoare triple {110373#(= 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)); {110353#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:56:43,995 INFO L290 TraceCheckUtils]: 92: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post8 < 100);havoc #t~post8; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,995 INFO L290 TraceCheckUtils]: 91: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,996 INFO L290 TraceCheckUtils]: 90: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,996 INFO L290 TraceCheckUtils]: 89: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,996 INFO L290 TraceCheckUtils]: 88: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,996 INFO L290 TraceCheckUtils]: 87: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,997 INFO L290 TraceCheckUtils]: 86: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,997 INFO L290 TraceCheckUtils]: 85: Hoare triple {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,998 INFO L290 TraceCheckUtils]: 84: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {110373#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:56:43,998 INFO L290 TraceCheckUtils]: 83: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:43,998 INFO L290 TraceCheckUtils]: 82: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:43,999 INFO L290 TraceCheckUtils]: 81: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:43,999 INFO L290 TraceCheckUtils]: 80: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:43,999 INFO L290 TraceCheckUtils]: 79: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,000 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {110063#true} {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #104#return; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,000 INFO L290 TraceCheckUtils]: 77: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:44,000 INFO L290 TraceCheckUtils]: 76: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:44,000 INFO L290 TraceCheckUtils]: 75: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:44,000 INFO L272 TraceCheckUtils]: 74: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {110063#true} {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 72: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 71: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 70: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L272 TraceCheckUtils]: 69: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {110063#true} {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #100#return; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 67: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 66: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L290 TraceCheckUtils]: 65: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:44,001 INFO L272 TraceCheckUtils]: 64: Hoare triple {110401#(= 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)); {110063#true} is VALID [2022-04-07 13:56:44,002 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {110063#true} {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #98#return; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,002 INFO L290 TraceCheckUtils]: 62: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:44,002 INFO L290 TraceCheckUtils]: 61: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:44,002 INFO L290 TraceCheckUtils]: 60: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:44,002 INFO L272 TraceCheckUtils]: 59: Hoare triple {110401#(= 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)); {110063#true} is VALID [2022-04-07 13:56:44,002 INFO L290 TraceCheckUtils]: 58: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post8 < 100);havoc #t~post8; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,003 INFO L290 TraceCheckUtils]: 57: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,003 INFO L290 TraceCheckUtils]: 56: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,003 INFO L290 TraceCheckUtils]: 55: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,004 INFO L290 TraceCheckUtils]: 54: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,004 INFO L290 TraceCheckUtils]: 53: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,004 INFO L290 TraceCheckUtils]: 52: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,005 INFO L290 TraceCheckUtils]: 51: Hoare triple {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,400 INFO L290 TraceCheckUtils]: 50: Hoare triple {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {110401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:56:44,400 INFO L290 TraceCheckUtils]: 49: Hoare triple {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:56:44,401 INFO L290 TraceCheckUtils]: 48: Hoare triple {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:56:44,401 INFO L290 TraceCheckUtils]: 47: Hoare triple {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:56:45,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {110504#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 13:56:45,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} assume !(~c~0 >= 2 * ~v~0); {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,019 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {110063#true} {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} #104#return; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,019 INFO L290 TraceCheckUtils]: 42: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,019 INFO L272 TraceCheckUtils]: 40: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,020 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {110063#true} {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} #102#return; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,020 INFO L290 TraceCheckUtils]: 38: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,020 INFO L290 TraceCheckUtils]: 36: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,020 INFO L272 TraceCheckUtils]: 35: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,025 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {110063#true} {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} #100#return; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,026 INFO L272 TraceCheckUtils]: 30: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,027 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {110063#true} {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} #98#return; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,027 INFO L290 TraceCheckUtils]: 28: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,027 INFO L290 TraceCheckUtils]: 26: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,027 INFO L272 TraceCheckUtils]: 25: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} assume !!(#t~post8 < 100);havoc #t~post8; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {110517#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-07 13:56:45,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} is VALID [2022-04-07 13:56:45,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} is VALID [2022-04-07 13:56:45,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {110600#(= (+ 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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {110590#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))} is VALID [2022-04-07 13:56:45,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {110600#(= (+ 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 !!(#t~post6 < 100);havoc #t~post6; {110600#(= (+ 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-07 13:56:45,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {110600#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110600#(= (+ 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-07 13:56:45,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {110063#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {110600#(= (+ 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-07 13:56:45,031 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {110063#true} {110063#true} #96#return; {110063#true} is VALID [2022-04-07 13:56:45,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L272 TraceCheckUtils]: 11: Hoare triple {110063#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {110063#true} {110063#true} #94#return; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {110063#true} assume !(0 == ~cond); {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {110063#true} ~cond := #in~cond; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {110063#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {110063#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {110063#true} call #t~ret9 := main(); {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {110063#true} {110063#true} #108#return; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {110063#true} assume true; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {110063#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {110063#true} call ULTIMATE.init(); {110063#true} is VALID [2022-04-07 13:56:45,032 INFO L134 CoverageAnalysis]: Checked inductivity of 186 backedges. 16 proven. 51 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2022-04-07 13:56:45,032 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:56:45,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1327508492] [2022-04-07 13:56:45,033 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:56:45,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [907365992] [2022-04-07 13:56:45,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [907365992] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:56:45,033 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:56:45,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-07 13:56:45,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1309667250] [2022-04-07 13:56:45,033 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:56:45,033 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 97 [2022-04-07 13:56:45,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:56:45,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 13:56:46,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:56:46,284 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-07 13:56:46,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:56:46,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-07 13:56:46,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-07 13:56:46,285 INFO L87 Difference]: Start difference. First operand 3206 states and 4462 transitions. Second operand has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 13:56:48,318 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:56:56,758 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:56:58,761 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:57:22,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:57:22,442 INFO L93 Difference]: Finished difference Result 3439 states and 4779 transitions. [2022-04-07 13:57:22,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-07 13:57:22,442 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 97 [2022-04-07 13:57:22,442 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:57:22,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 13:57:22,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 173 transitions. [2022-04-07 13:57:22,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 13:57:22,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 173 transitions. [2022-04-07 13:57:22,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 173 transitions. [2022-04-07 13:57:30,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 172 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 13:57:30,797 INFO L225 Difference]: With dead ends: 3439 [2022-04-07 13:57:30,797 INFO L226 Difference]: Without dead ends: 3427 [2022-04-07 13:57:30,798 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 178 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=201, Invalid=729, Unknown=0, NotChecked=0, Total=930 [2022-04-07 13:57:30,799 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 114 mSDsluCounter, 381 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 160 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 448 SdHoareTripleChecker+Invalid, 736 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 160 IncrementalHoareTripleChecker+Valid, 574 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.9s IncrementalHoareTripleChecker+Time [2022-04-07 13:57:30,799 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 448 Invalid, 736 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [160 Valid, 574 Invalid, 2 Unknown, 0 Unchecked, 13.9s Time] [2022-04-07 13:57:30,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3427 states. [2022-04-07 13:57:37,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3427 to 3133. [2022-04-07 13:57:37,525 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:57:37,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 3427 states. Second operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:57:37,531 INFO L74 IsIncluded]: Start isIncluded. First operand 3427 states. Second operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:57:37,533 INFO L87 Difference]: Start difference. First operand 3427 states. Second operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:57:37,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:57:37,896 INFO L93 Difference]: Finished difference Result 3427 states and 4763 transitions. [2022-04-07 13:57:37,896 INFO L276 IsEmpty]: Start isEmpty. Operand 3427 states and 4763 transitions. [2022-04-07 13:57:37,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:57:37,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:57:37,903 INFO L74 IsIncluded]: Start isIncluded. First operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) Second operand 3427 states. [2022-04-07 13:57:37,905 INFO L87 Difference]: Start difference. First operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) Second operand 3427 states. [2022-04-07 13:57:38,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:57:38,255 INFO L93 Difference]: Finished difference Result 3427 states and 4763 transitions. [2022-04-07 13:57:38,255 INFO L276 IsEmpty]: Start isEmpty. Operand 3427 states and 4763 transitions. [2022-04-07 13:57:38,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:57:38,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:57:38,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:57:38,259 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:57:38,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3133 states, 2217 states have (on average 1.3031123139377536) internal successors, (2889), 2261 states have internal predecessors, (2889), 740 states have call successors, (740), 177 states have call predecessors, (740), 175 states have return successors, (738), 694 states have call predecessors, (738), 738 states have call successors, (738) [2022-04-07 13:57:38,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3133 states to 3133 states and 4367 transitions. [2022-04-07 13:57:38,712 INFO L78 Accepts]: Start accepts. Automaton has 3133 states and 4367 transitions. Word has length 97 [2022-04-07 13:57:38,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:57:38,713 INFO L478 AbstractCegarLoop]: Abstraction has 3133 states and 4367 transitions. [2022-04-07 13:57:38,713 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 5.125) internal successors, (82), 15 states have internal predecessors, (82), 7 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 13:57:38,713 INFO L276 IsEmpty]: Start isEmpty. Operand 3133 states and 4367 transitions. [2022-04-07 13:57:38,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2022-04-07 13:57:38,714 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:57:38,714 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 5, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:57:38,733 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-07 13:57:38,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:57:38,923 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:57:38,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:57:38,923 INFO L85 PathProgramCache]: Analyzing trace with hash 493698625, now seen corresponding path program 1 times [2022-04-07 13:57:38,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:57:38,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1877249406] [2022-04-07 13:57:38,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:57:38,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:57:38,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:57:38,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [310865005] [2022-04-07 13:57:38,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:57:38,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:57:38,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:57:38,937 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:57:38,938 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-07 13:57:38,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:57:38,997 INFO L263 TraceCheckSpWp]: Trace formula consists of 302 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-07 13:57:39,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:57:39,025 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:57:39,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {127078#true} call ULTIMATE.init(); {127078#true} is VALID [2022-04-07 13:57:39,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {127078#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {127086#(<= ~counter~0 0)} assume true; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127086#(<= ~counter~0 0)} {127078#true} #108#return; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {127086#(<= ~counter~0 0)} call #t~ret9 := main(); {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {127086#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,474 INFO L272 TraceCheckUtils]: 6: Hoare triple {127086#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {127086#(<= ~counter~0 0)} ~cond := #in~cond; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {127086#(<= ~counter~0 0)} assume !(0 == ~cond); {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {127086#(<= ~counter~0 0)} assume true; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127086#(<= ~counter~0 0)} {127086#(<= ~counter~0 0)} #94#return; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,475 INFO L272 TraceCheckUtils]: 11: Hoare triple {127086#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {127086#(<= ~counter~0 0)} ~cond := #in~cond; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {127086#(<= ~counter~0 0)} assume !(0 == ~cond); {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {127086#(<= ~counter~0 0)} assume true; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,476 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {127086#(<= ~counter~0 0)} {127086#(<= ~counter~0 0)} #96#return; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {127086#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {127086#(<= ~counter~0 0)} is VALID [2022-04-07 13:57:39,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {127086#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127135#(<= ~counter~0 1)} is VALID [2022-04-07 13:57:39,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {127135#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {127135#(<= ~counter~0 1)} is VALID [2022-04-07 13:57:39,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {127135#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127135#(<= ~counter~0 1)} is VALID [2022-04-07 13:57:39,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {127135#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127145#(<= ~counter~0 2)} is VALID [2022-04-07 13:57:39,479 INFO L290 TraceCheckUtils]: 21: Hoare triple {127145#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {127145#(<= ~counter~0 2)} is VALID [2022-04-07 13:57:39,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {127145#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {127145#(<= ~counter~0 2)} is VALID [2022-04-07 13:57:39,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {127145#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {127155#(<= ~counter~0 3)} assume !!(#t~post8 < 100);havoc #t~post8; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,481 INFO L272 TraceCheckUtils]: 25: Hoare triple {127155#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {127155#(<= ~counter~0 3)} ~cond := #in~cond; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {127155#(<= ~counter~0 3)} assume !(0 == ~cond); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,482 INFO L290 TraceCheckUtils]: 28: Hoare triple {127155#(<= ~counter~0 3)} assume true; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,482 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {127155#(<= ~counter~0 3)} {127155#(<= ~counter~0 3)} #98#return; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,483 INFO L272 TraceCheckUtils]: 30: Hoare triple {127155#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {127155#(<= ~counter~0 3)} ~cond := #in~cond; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {127155#(<= ~counter~0 3)} assume !(0 == ~cond); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {127155#(<= ~counter~0 3)} assume true; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,484 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {127155#(<= ~counter~0 3)} {127155#(<= ~counter~0 3)} #100#return; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,484 INFO L272 TraceCheckUtils]: 35: Hoare triple {127155#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,485 INFO L290 TraceCheckUtils]: 36: Hoare triple {127155#(<= ~counter~0 3)} ~cond := #in~cond; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {127155#(<= ~counter~0 3)} assume !(0 == ~cond); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,485 INFO L290 TraceCheckUtils]: 38: Hoare triple {127155#(<= ~counter~0 3)} assume true; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,486 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {127155#(<= ~counter~0 3)} {127155#(<= ~counter~0 3)} #102#return; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,486 INFO L272 TraceCheckUtils]: 40: Hoare triple {127155#(<= ~counter~0 3)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,486 INFO L290 TraceCheckUtils]: 41: Hoare triple {127155#(<= ~counter~0 3)} ~cond := #in~cond; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,487 INFO L290 TraceCheckUtils]: 42: Hoare triple {127155#(<= ~counter~0 3)} assume !(0 == ~cond); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,487 INFO L290 TraceCheckUtils]: 43: Hoare triple {127155#(<= ~counter~0 3)} assume true; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,487 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {127155#(<= ~counter~0 3)} {127155#(<= ~counter~0 3)} #104#return; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,488 INFO L290 TraceCheckUtils]: 45: Hoare triple {127155#(<= ~counter~0 3)} assume !(~c~0 >= 2 * ~v~0); {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,488 INFO L290 TraceCheckUtils]: 46: Hoare triple {127155#(<= ~counter~0 3)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {127155#(<= ~counter~0 3)} is VALID [2022-04-07 13:57:39,488 INFO L290 TraceCheckUtils]: 47: Hoare triple {127155#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127228#(<= ~counter~0 4)} is VALID [2022-04-07 13:57:39,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {127228#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {127228#(<= ~counter~0 4)} is VALID [2022-04-07 13:57:39,489 INFO L290 TraceCheckUtils]: 49: Hoare triple {127228#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {127228#(<= ~counter~0 4)} is VALID [2022-04-07 13:57:39,489 INFO L290 TraceCheckUtils]: 50: Hoare triple {127228#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127228#(<= ~counter~0 4)} is VALID [2022-04-07 13:57:39,490 INFO L290 TraceCheckUtils]: 51: Hoare triple {127228#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127241#(<= ~counter~0 5)} is VALID [2022-04-07 13:57:39,490 INFO L290 TraceCheckUtils]: 52: Hoare triple {127241#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {127241#(<= ~counter~0 5)} is VALID [2022-04-07 13:57:39,490 INFO L290 TraceCheckUtils]: 53: Hoare triple {127241#(<= ~counter~0 5)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127241#(<= ~counter~0 5)} is VALID [2022-04-07 13:57:39,491 INFO L290 TraceCheckUtils]: 54: Hoare triple {127241#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127251#(<= ~counter~0 6)} is VALID [2022-04-07 13:57:39,491 INFO L290 TraceCheckUtils]: 55: Hoare triple {127251#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {127251#(<= ~counter~0 6)} is VALID [2022-04-07 13:57:39,492 INFO L290 TraceCheckUtils]: 56: Hoare triple {127251#(<= ~counter~0 6)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {127251#(<= ~counter~0 6)} is VALID [2022-04-07 13:57:39,492 INFO L290 TraceCheckUtils]: 57: Hoare triple {127251#(<= ~counter~0 6)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,492 INFO L290 TraceCheckUtils]: 58: Hoare triple {127261#(<= ~counter~0 7)} assume !!(#t~post8 < 100);havoc #t~post8; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,493 INFO L272 TraceCheckUtils]: 59: Hoare triple {127261#(<= ~counter~0 7)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,493 INFO L290 TraceCheckUtils]: 60: Hoare triple {127261#(<= ~counter~0 7)} ~cond := #in~cond; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,493 INFO L290 TraceCheckUtils]: 61: Hoare triple {127261#(<= ~counter~0 7)} assume !(0 == ~cond); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,494 INFO L290 TraceCheckUtils]: 62: Hoare triple {127261#(<= ~counter~0 7)} assume true; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,494 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {127261#(<= ~counter~0 7)} {127261#(<= ~counter~0 7)} #98#return; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,495 INFO L272 TraceCheckUtils]: 64: Hoare triple {127261#(<= ~counter~0 7)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,495 INFO L290 TraceCheckUtils]: 65: Hoare triple {127261#(<= ~counter~0 7)} ~cond := #in~cond; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,495 INFO L290 TraceCheckUtils]: 66: Hoare triple {127261#(<= ~counter~0 7)} assume !(0 == ~cond); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,495 INFO L290 TraceCheckUtils]: 67: Hoare triple {127261#(<= ~counter~0 7)} assume true; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,496 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {127261#(<= ~counter~0 7)} {127261#(<= ~counter~0 7)} #100#return; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,496 INFO L272 TraceCheckUtils]: 69: Hoare triple {127261#(<= ~counter~0 7)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,497 INFO L290 TraceCheckUtils]: 70: Hoare triple {127261#(<= ~counter~0 7)} ~cond := #in~cond; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,497 INFO L290 TraceCheckUtils]: 71: Hoare triple {127261#(<= ~counter~0 7)} assume !(0 == ~cond); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,497 INFO L290 TraceCheckUtils]: 72: Hoare triple {127261#(<= ~counter~0 7)} assume true; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,498 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {127261#(<= ~counter~0 7)} {127261#(<= ~counter~0 7)} #102#return; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,498 INFO L272 TraceCheckUtils]: 74: Hoare triple {127261#(<= ~counter~0 7)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,498 INFO L290 TraceCheckUtils]: 75: Hoare triple {127261#(<= ~counter~0 7)} ~cond := #in~cond; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,499 INFO L290 TraceCheckUtils]: 76: Hoare triple {127261#(<= ~counter~0 7)} assume !(0 == ~cond); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,499 INFO L290 TraceCheckUtils]: 77: Hoare triple {127261#(<= ~counter~0 7)} assume true; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,499 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {127261#(<= ~counter~0 7)} {127261#(<= ~counter~0 7)} #104#return; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,499 INFO L290 TraceCheckUtils]: 79: Hoare triple {127261#(<= ~counter~0 7)} assume !(~c~0 >= 2 * ~v~0); {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,500 INFO L290 TraceCheckUtils]: 80: Hoare triple {127261#(<= ~counter~0 7)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {127261#(<= ~counter~0 7)} is VALID [2022-04-07 13:57:39,500 INFO L290 TraceCheckUtils]: 81: Hoare triple {127261#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127334#(<= ~counter~0 8)} is VALID [2022-04-07 13:57:39,501 INFO L290 TraceCheckUtils]: 82: Hoare triple {127334#(<= ~counter~0 8)} assume !!(#t~post7 < 100);havoc #t~post7; {127334#(<= ~counter~0 8)} is VALID [2022-04-07 13:57:39,501 INFO L290 TraceCheckUtils]: 83: Hoare triple {127334#(<= ~counter~0 8)} assume !(~c~0 >= ~b~0); {127334#(<= ~counter~0 8)} is VALID [2022-04-07 13:57:39,501 INFO L290 TraceCheckUtils]: 84: Hoare triple {127334#(<= ~counter~0 8)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127334#(<= ~counter~0 8)} is VALID [2022-04-07 13:57:39,502 INFO L290 TraceCheckUtils]: 85: Hoare triple {127334#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127347#(<= ~counter~0 9)} is VALID [2022-04-07 13:57:39,502 INFO L290 TraceCheckUtils]: 86: Hoare triple {127347#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {127347#(<= ~counter~0 9)} is VALID [2022-04-07 13:57:39,502 INFO L290 TraceCheckUtils]: 87: Hoare triple {127347#(<= ~counter~0 9)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127347#(<= ~counter~0 9)} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 88: Hoare triple {127347#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127357#(<= |main_#t~post7| 9)} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 89: Hoare triple {127357#(<= |main_#t~post7| 9)} assume !(#t~post7 < 100);havoc #t~post7; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 90: Hoare triple {127079#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 91: Hoare triple {127079#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 92: Hoare triple {127079#false} assume !!(#t~post6 < 100);havoc #t~post6; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 93: Hoare triple {127079#false} assume !(0 != ~b~0); {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L272 TraceCheckUtils]: 94: Hoare triple {127079#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 95: Hoare triple {127079#false} ~cond := #in~cond; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 96: Hoare triple {127079#false} assume 0 == ~cond; {127079#false} is VALID [2022-04-07 13:57:39,503 INFO L290 TraceCheckUtils]: 97: Hoare triple {127079#false} assume !false; {127079#false} is VALID [2022-04-07 13:57:39,504 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 27 proven. 108 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-07 13:57:39,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:57:40,025 INFO L290 TraceCheckUtils]: 97: Hoare triple {127079#false} assume !false; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 96: Hoare triple {127079#false} assume 0 == ~cond; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 95: Hoare triple {127079#false} ~cond := #in~cond; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L272 TraceCheckUtils]: 94: Hoare triple {127079#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 93: Hoare triple {127079#false} assume !(0 != ~b~0); {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 92: Hoare triple {127079#false} assume !!(#t~post6 < 100);havoc #t~post6; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 91: Hoare triple {127079#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 90: Hoare triple {127079#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 89: Hoare triple {127409#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {127079#false} is VALID [2022-04-07 13:57:40,026 INFO L290 TraceCheckUtils]: 88: Hoare triple {127413#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127409#(< |main_#t~post7| 100)} is VALID [2022-04-07 13:57:40,027 INFO L290 TraceCheckUtils]: 87: Hoare triple {127413#(< ~counter~0 100)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127413#(< ~counter~0 100)} is VALID [2022-04-07 13:57:40,027 INFO L290 TraceCheckUtils]: 86: Hoare triple {127413#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {127413#(< ~counter~0 100)} is VALID [2022-04-07 13:57:40,028 INFO L290 TraceCheckUtils]: 85: Hoare triple {127423#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127413#(< ~counter~0 100)} is VALID [2022-04-07 13:57:40,029 INFO L290 TraceCheckUtils]: 84: Hoare triple {127423#(< ~counter~0 99)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127423#(< ~counter~0 99)} is VALID [2022-04-07 13:57:40,029 INFO L290 TraceCheckUtils]: 83: Hoare triple {127423#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {127423#(< ~counter~0 99)} is VALID [2022-04-07 13:57:40,030 INFO L290 TraceCheckUtils]: 82: Hoare triple {127423#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {127423#(< ~counter~0 99)} is VALID [2022-04-07 13:57:40,030 INFO L290 TraceCheckUtils]: 81: Hoare triple {127436#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127423#(< ~counter~0 99)} is VALID [2022-04-07 13:57:40,031 INFO L290 TraceCheckUtils]: 80: Hoare triple {127436#(< ~counter~0 98)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,031 INFO L290 TraceCheckUtils]: 79: Hoare triple {127436#(< ~counter~0 98)} assume !(~c~0 >= 2 * ~v~0); {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,031 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {127078#true} {127436#(< ~counter~0 98)} #104#return; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,031 INFO L290 TraceCheckUtils]: 77: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,031 INFO L290 TraceCheckUtils]: 76: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,031 INFO L290 TraceCheckUtils]: 75: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,032 INFO L272 TraceCheckUtils]: 74: Hoare triple {127436#(< ~counter~0 98)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,032 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {127078#true} {127436#(< ~counter~0 98)} #102#return; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,032 INFO L290 TraceCheckUtils]: 72: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,032 INFO L290 TraceCheckUtils]: 71: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,032 INFO L290 TraceCheckUtils]: 70: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,032 INFO L272 TraceCheckUtils]: 69: Hoare triple {127436#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {127078#true} {127436#(< ~counter~0 98)} #100#return; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,033 INFO L290 TraceCheckUtils]: 67: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L272 TraceCheckUtils]: 64: Hoare triple {127436#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {127078#true} {127436#(< ~counter~0 98)} #98#return; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,034 INFO L290 TraceCheckUtils]: 60: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,034 INFO L272 TraceCheckUtils]: 59: Hoare triple {127436#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,034 INFO L290 TraceCheckUtils]: 58: Hoare triple {127436#(< ~counter~0 98)} assume !!(#t~post8 < 100);havoc #t~post8; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {127509#(< ~counter~0 97)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {127436#(< ~counter~0 98)} is VALID [2022-04-07 13:57:40,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {127509#(< ~counter~0 97)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {127509#(< ~counter~0 97)} is VALID [2022-04-07 13:57:40,035 INFO L290 TraceCheckUtils]: 55: Hoare triple {127509#(< ~counter~0 97)} assume !!(#t~post7 < 100);havoc #t~post7; {127509#(< ~counter~0 97)} is VALID [2022-04-07 13:57:40,036 INFO L290 TraceCheckUtils]: 54: Hoare triple {127519#(< ~counter~0 96)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127509#(< ~counter~0 97)} is VALID [2022-04-07 13:57:40,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {127519#(< ~counter~0 96)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127519#(< ~counter~0 96)} is VALID [2022-04-07 13:57:40,036 INFO L290 TraceCheckUtils]: 52: Hoare triple {127519#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {127519#(< ~counter~0 96)} is VALID [2022-04-07 13:57:40,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {127529#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127519#(< ~counter~0 96)} is VALID [2022-04-07 13:57:40,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {127529#(< ~counter~0 95)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {127529#(< ~counter~0 95)} is VALID [2022-04-07 13:57:40,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {127529#(< ~counter~0 95)} assume !(~c~0 >= ~b~0); {127529#(< ~counter~0 95)} is VALID [2022-04-07 13:57:40,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {127529#(< ~counter~0 95)} assume !!(#t~post7 < 100);havoc #t~post7; {127529#(< ~counter~0 95)} is VALID [2022-04-07 13:57:40,038 INFO L290 TraceCheckUtils]: 47: Hoare triple {127542#(< ~counter~0 94)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127529#(< ~counter~0 95)} is VALID [2022-04-07 13:57:40,039 INFO L290 TraceCheckUtils]: 46: Hoare triple {127542#(< ~counter~0 94)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,039 INFO L290 TraceCheckUtils]: 45: Hoare triple {127542#(< ~counter~0 94)} assume !(~c~0 >= 2 * ~v~0); {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,039 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {127078#true} {127542#(< ~counter~0 94)} #104#return; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,039 INFO L290 TraceCheckUtils]: 41: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,040 INFO L272 TraceCheckUtils]: 40: Hoare triple {127542#(< ~counter~0 94)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,040 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {127078#true} {127542#(< ~counter~0 94)} #102#return; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,040 INFO L290 TraceCheckUtils]: 38: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,040 INFO L290 TraceCheckUtils]: 37: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,040 INFO L290 TraceCheckUtils]: 36: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,040 INFO L272 TraceCheckUtils]: 35: Hoare triple {127542#(< ~counter~0 94)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {127078#true} {127542#(< ~counter~0 94)} #100#return; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,041 INFO L290 TraceCheckUtils]: 33: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L290 TraceCheckUtils]: 32: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L272 TraceCheckUtils]: 30: Hoare triple {127542#(< ~counter~0 94)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {127078#true} {127542#(< ~counter~0 94)} #98#return; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,042 INFO L272 TraceCheckUtils]: 25: Hoare triple {127542#(< ~counter~0 94)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {127542#(< ~counter~0 94)} assume !!(#t~post8 < 100);havoc #t~post8; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {127615#(< ~counter~0 93)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {127542#(< ~counter~0 94)} is VALID [2022-04-07 13:57:40,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {127615#(< ~counter~0 93)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {127615#(< ~counter~0 93)} is VALID [2022-04-07 13:57:40,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {127615#(< ~counter~0 93)} assume !!(#t~post7 < 100);havoc #t~post7; {127615#(< ~counter~0 93)} is VALID [2022-04-07 13:57:40,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {127625#(< ~counter~0 92)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {127615#(< ~counter~0 93)} is VALID [2022-04-07 13:57:40,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {127625#(< ~counter~0 92)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {127625#(< ~counter~0 92)} is VALID [2022-04-07 13:57:40,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {127625#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {127625#(< ~counter~0 92)} is VALID [2022-04-07 13:57:40,045 INFO L290 TraceCheckUtils]: 17: Hoare triple {127635#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {127625#(< ~counter~0 92)} is VALID [2022-04-07 13:57:40,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {127635#(< ~counter~0 91)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,046 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {127078#true} {127635#(< ~counter~0 91)} #96#return; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L272 TraceCheckUtils]: 11: Hoare triple {127635#(< ~counter~0 91)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127078#true} {127635#(< ~counter~0 91)} #94#return; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {127078#true} assume true; {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {127078#true} assume !(0 == ~cond); {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {127078#true} ~cond := #in~cond; {127078#true} is VALID [2022-04-07 13:57:40,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {127635#(< ~counter~0 91)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {127078#true} is VALID [2022-04-07 13:57:40,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {127635#(< ~counter~0 91)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {127635#(< ~counter~0 91)} call #t~ret9 := main(); {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127635#(< ~counter~0 91)} {127078#true} #108#return; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {127635#(< ~counter~0 91)} assume true; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {127078#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {127635#(< ~counter~0 91)} is VALID [2022-04-07 13:57:40,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {127078#true} call ULTIMATE.init(); {127078#true} is VALID [2022-04-07 13:57:40,048 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 27 proven. 44 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-07 13:57:40,048 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:57:40,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1877249406] [2022-04-07 13:57:40,048 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:57:40,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [310865005] [2022-04-07 13:57:40,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [310865005] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:57:40,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:57:40,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-07 13:57:40,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1624856772] [2022-04-07 13:57:40,049 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:57:40,049 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) Word has length 98 [2022-04-07 13:57:40,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:57:40,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:57:40,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:57:40,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-07 13:57:40,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:57:40,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-07 13:57:40,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-07 13:57:40,174 INFO L87 Difference]: Start difference. First operand 3133 states and 4367 transitions. Second operand has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:57:58,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:57:58,600 INFO L93 Difference]: Finished difference Result 7142 states and 10419 transitions. [2022-04-07 13:57:58,600 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-07 13:57:58,600 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) Word has length 98 [2022-04-07 13:57:58,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:57:58,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:57:58,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 562 transitions. [2022-04-07 13:57:58,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:57:58,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 562 transitions. [2022-04-07 13:57:58,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 562 transitions. [2022-04-07 13:57:59,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 562 edges. 562 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:58:00,679 INFO L225 Difference]: With dead ends: 7142 [2022-04-07 13:58:00,680 INFO L226 Difference]: Without dead ends: 6010 [2022-04-07 13:58:00,683 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 212 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 228 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=585, Invalid=1055, Unknown=0, NotChecked=0, Total=1640 [2022-04-07 13:58:00,684 INFO L913 BasicCegarLoop]: 113 mSDtfsCounter, 613 mSDsluCounter, 481 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 336 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 613 SdHoareTripleChecker+Valid, 594 SdHoareTripleChecker+Invalid, 725 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 336 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 13:58:00,684 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [613 Valid, 594 Invalid, 725 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [336 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 13:58:00,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 6010 states. [2022-04-07 13:58:14,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 6010 to 5700. [2022-04-07 13:58:14,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:58:14,315 INFO L82 GeneralOperation]: Start isEquivalent. First operand 6010 states. Second operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) [2022-04-07 13:58:14,319 INFO L74 IsIncluded]: Start isIncluded. First operand 6010 states. Second operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) [2022-04-07 13:58:14,323 INFO L87 Difference]: Start difference. First operand 6010 states. Second operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) [2022-04-07 13:58:15,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:58:15,287 INFO L93 Difference]: Finished difference Result 6010 states and 8454 transitions. [2022-04-07 13:58:15,287 INFO L276 IsEmpty]: Start isEmpty. Operand 6010 states and 8454 transitions. [2022-04-07 13:58:15,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:58:15,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:58:15,305 INFO L74 IsIncluded]: Start isIncluded. First operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) Second operand 6010 states. [2022-04-07 13:58:15,311 INFO L87 Difference]: Start difference. First operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) Second operand 6010 states. [2022-04-07 13:58:16,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:58:16,306 INFO L93 Difference]: Finished difference Result 6010 states and 8454 transitions. [2022-04-07 13:58:16,306 INFO L276 IsEmpty]: Start isEmpty. Operand 6010 states and 8454 transitions. [2022-04-07 13:58:16,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:58:16,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:58:16,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:58:16,319 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:58:16,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5700 states, 3784 states have (on average 1.2978329809725158) internal successors, (4911), 3806 states have internal predecessors, (4911), 1609 states have call successors, (1609), 308 states have call predecessors, (1609), 306 states have return successors, (1607), 1585 states have call predecessors, (1607), 1607 states have call successors, (1607) [2022-04-07 13:58:17,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5700 states to 5700 states and 8127 transitions. [2022-04-07 13:58:17,698 INFO L78 Accepts]: Start accepts. Automaton has 5700 states and 8127 transitions. Word has length 98 [2022-04-07 13:58:17,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:58:17,699 INFO L478 AbstractCegarLoop]: Abstraction has 5700 states and 8127 transitions. [2022-04-07 13:58:17,699 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 4.0) internal successors, (96), 24 states have internal predecessors, (96), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:58:17,699 INFO L276 IsEmpty]: Start isEmpty. Operand 5700 states and 8127 transitions. [2022-04-07 13:58:17,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-07 13:58:17,700 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:58:17,700 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:58:17,716 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-07 13:58:17,900 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:58:17,900 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:58:17,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:58:17,901 INFO L85 PathProgramCache]: Analyzing trace with hash 911562927, now seen corresponding path program 2 times [2022-04-07 13:58:17,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:58:17,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071573998] [2022-04-07 13:58:17,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:58:17,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:58:17,915 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:58:17,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [473566747] [2022-04-07 13:58:17,916 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:58:17,916 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:58:17,916 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:58:17,917 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:58:17,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-07 13:58:17,979 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:58:17,979 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:58:17,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 289 conjuncts, 74 conjunts are in the unsatisfiable core [2022-04-07 13:58:17,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:58:17,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:58:19,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {158756#true} call ULTIMATE.init(); {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {158756#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {158756#true} {158756#true} #108#return; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {158756#true} call #t~ret9 := main(); {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {158756#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {158756#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {158756#true} {158756#true} #94#return; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L272 TraceCheckUtils]: 11: Hoare triple {158756#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 12: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,385 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {158756#true} {158756#true} #96#return; {158756#true} is VALID [2022-04-07 13:58:19,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {158756#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {158809#(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-07 13:58:19,385 INFO L290 TraceCheckUtils]: 17: Hoare triple {158809#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {158809#(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-07 13:58:19,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {158809#(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 !!(#t~post6 < 100);havoc #t~post6; {158809#(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-07 13:58:19,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {158809#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:58:19,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:58:19,387 INFO L290 TraceCheckUtils]: 21: Hoare triple {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(#t~post7 < 100);havoc #t~post7; {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:58:19,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {158819#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,388 INFO L272 TraceCheckUtils]: 25: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,388 INFO L290 TraceCheckUtils]: 28: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,389 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {158756#true} {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #98#return; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,389 INFO L272 TraceCheckUtils]: 30: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,389 INFO L290 TraceCheckUtils]: 33: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,390 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {158756#true} {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #100#return; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,390 INFO L272 TraceCheckUtils]: 35: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,391 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {158756#true} {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,391 INFO L272 TraceCheckUtils]: 40: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,391 INFO L290 TraceCheckUtils]: 41: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,391 INFO L290 TraceCheckUtils]: 42: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,391 INFO L290 TraceCheckUtils]: 43: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,392 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {158756#true} {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,392 INFO L290 TraceCheckUtils]: 45: Hoare triple {158829#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,393 INFO L290 TraceCheckUtils]: 46: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,393 INFO L290 TraceCheckUtils]: 47: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,393 INFO L272 TraceCheckUtils]: 48: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,393 INFO L290 TraceCheckUtils]: 49: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,393 INFO L290 TraceCheckUtils]: 50: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,393 INFO L290 TraceCheckUtils]: 51: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,394 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {158756#true} {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #98#return; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,394 INFO L272 TraceCheckUtils]: 53: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,394 INFO L290 TraceCheckUtils]: 54: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,394 INFO L290 TraceCheckUtils]: 55: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,394 INFO L290 TraceCheckUtils]: 56: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,395 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {158756#true} {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #100#return; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,395 INFO L272 TraceCheckUtils]: 58: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,395 INFO L290 TraceCheckUtils]: 59: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,395 INFO L290 TraceCheckUtils]: 60: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,395 INFO L290 TraceCheckUtils]: 61: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,396 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {158756#true} {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,396 INFO L272 TraceCheckUtils]: 63: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,396 INFO L290 TraceCheckUtils]: 64: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,396 INFO L290 TraceCheckUtils]: 65: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,396 INFO L290 TraceCheckUtils]: 66: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,397 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {158756#true} {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,397 INFO L290 TraceCheckUtils]: 68: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {158899#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,399 INFO L290 TraceCheckUtils]: 71: Hoare triple {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,399 INFO L290 TraceCheckUtils]: 72: Hoare triple {158972#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,400 INFO L290 TraceCheckUtils]: 73: Hoare triple {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,400 INFO L290 TraceCheckUtils]: 74: Hoare triple {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post8 < 100);havoc #t~post8; {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,400 INFO L272 TraceCheckUtils]: 75: Hoare triple {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,400 INFO L290 TraceCheckUtils]: 76: Hoare triple {158756#true} ~cond := #in~cond; {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:58:19,401 INFO L290 TraceCheckUtils]: 77: Hoare triple {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,401 INFO L290 TraceCheckUtils]: 78: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,402 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #98#return; {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,402 INFO L272 TraceCheckUtils]: 80: Hoare triple {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {158756#true} is VALID [2022-04-07 13:58:19,402 INFO L290 TraceCheckUtils]: 81: Hoare triple {158756#true} ~cond := #in~cond; {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:58:19,402 INFO L290 TraceCheckUtils]: 82: Hoare triple {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,402 INFO L290 TraceCheckUtils]: 83: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,403 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #100#return; {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,403 INFO L272 TraceCheckUtils]: 85: Hoare triple {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,404 INFO L290 TraceCheckUtils]: 86: Hoare triple {158756#true} ~cond := #in~cond; {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:58:19,404 INFO L290 TraceCheckUtils]: 87: Hoare triple {158995#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,404 INFO L290 TraceCheckUtils]: 88: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:19,405 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {158982#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,405 INFO L272 TraceCheckUtils]: 90: Hoare triple {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:19,405 INFO L290 TraceCheckUtils]: 91: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:19,405 INFO L290 TraceCheckUtils]: 92: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:19,405 INFO L290 TraceCheckUtils]: 93: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:19,406 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {158756#true} {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} #104#return; {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,406 INFO L290 TraceCheckUtils]: 95: Hoare triple {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,407 INFO L290 TraceCheckUtils]: 96: Hoare triple {159036#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,408 INFO L290 TraceCheckUtils]: 97: Hoare triple {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,408 INFO L290 TraceCheckUtils]: 98: Hoare triple {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,409 INFO L290 TraceCheckUtils]: 99: Hoare triple {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-07 13:58:19,409 INFO L290 TraceCheckUtils]: 100: Hoare triple {159058#(and (= main_~c~0 (+ main_~x~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0) (* main_~b~0 (+ (- 2) main_~k~0)))) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} is VALID [2022-04-07 13:58:19,410 INFO L290 TraceCheckUtils]: 101: Hoare triple {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} is VALID [2022-04-07 13:58:19,410 INFO L290 TraceCheckUtils]: 102: Hoare triple {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} is VALID [2022-04-07 13:58:19,411 INFO L290 TraceCheckUtils]: 103: Hoare triple {159071#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~x~0)) (= (+ main_~s~0 (* main_~r~0 3)) 0))} assume !(0 != ~b~0); {159081#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ (* main_~a~0 (- 3)) main_~x~0) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 (* main_~r~0 3)) 0))} is VALID [2022-04-07 13:58:19,411 INFO L272 TraceCheckUtils]: 104: Hoare triple {159081#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ (* main_~a~0 (- 3)) main_~x~0) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 (* main_~r~0 3)) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {159085#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:58:19,412 INFO L290 TraceCheckUtils]: 105: Hoare triple {159085#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {159089#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:58:19,412 INFO L290 TraceCheckUtils]: 106: Hoare triple {159089#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {158757#false} is VALID [2022-04-07 13:58:19,412 INFO L290 TraceCheckUtils]: 107: Hoare triple {158757#false} assume !false; {158757#false} is VALID [2022-04-07 13:58:19,412 INFO L134 CoverageAnalysis]: Checked inductivity of 326 backedges. 93 proven. 46 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2022-04-07 13:58:19,412 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:58:47,622 INFO L290 TraceCheckUtils]: 107: Hoare triple {158757#false} assume !false; {158757#false} is VALID [2022-04-07 13:58:47,623 INFO L290 TraceCheckUtils]: 106: Hoare triple {159089#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {158757#false} is VALID [2022-04-07 13:58:47,623 INFO L290 TraceCheckUtils]: 105: Hoare triple {159085#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {159089#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:58:47,624 INFO L272 TraceCheckUtils]: 104: Hoare triple {159105#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {159085#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:58:47,624 INFO L290 TraceCheckUtils]: 103: Hoare triple {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {159105#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:58:47,625 INFO L290 TraceCheckUtils]: 102: Hoare triple {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:58:47,625 INFO L290 TraceCheckUtils]: 101: Hoare triple {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:58:47,747 INFO L290 TraceCheckUtils]: 100: Hoare triple {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {159109#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 13:58:47,751 INFO L290 TraceCheckUtils]: 99: Hoare triple {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,751 INFO L290 TraceCheckUtils]: 98: Hoare triple {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,752 INFO L290 TraceCheckUtils]: 97: Hoare triple {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,801 INFO L290 TraceCheckUtils]: 96: Hoare triple {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {159119#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,802 INFO L290 TraceCheckUtils]: 95: Hoare triple {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,803 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {158756#true} {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,803 INFO L290 TraceCheckUtils]: 93: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,803 INFO L290 TraceCheckUtils]: 92: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,803 INFO L290 TraceCheckUtils]: 91: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,803 INFO L272 TraceCheckUtils]: 90: Hoare triple {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,804 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {159154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {159132#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,804 INFO L290 TraceCheckUtils]: 88: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,805 INFO L290 TraceCheckUtils]: 87: Hoare triple {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,805 INFO L290 TraceCheckUtils]: 86: Hoare triple {158756#true} ~cond := #in~cond; {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:58:47,805 INFO L272 TraceCheckUtils]: 85: Hoare triple {159154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,807 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {159171#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #100#return; {159154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,807 INFO L290 TraceCheckUtils]: 83: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,808 INFO L290 TraceCheckUtils]: 82: Hoare triple {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,808 INFO L290 TraceCheckUtils]: 81: Hoare triple {158756#true} ~cond := #in~cond; {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:58:47,808 INFO L272 TraceCheckUtils]: 80: Hoare triple {159171#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {158756#true} is VALID [2022-04-07 13:58:47,809 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #98#return; {159171#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,809 INFO L290 TraceCheckUtils]: 78: Hoare triple {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,810 INFO L290 TraceCheckUtils]: 77: Hoare triple {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {158999#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:58:47,810 INFO L290 TraceCheckUtils]: 76: Hoare triple {158756#true} ~cond := #in~cond; {159164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:58:47,810 INFO L272 TraceCheckUtils]: 75: Hoare triple {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {158756#true} is VALID [2022-04-07 13:58:47,811 INFO L290 TraceCheckUtils]: 74: Hoare triple {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(#t~post8 < 100);havoc #t~post8; {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,811 INFO L290 TraceCheckUtils]: 73: Hoare triple {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 72: Hoare triple {158756#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {159187#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 71: Hoare triple {158756#true} assume !!(#t~post7 < 100);havoc #t~post7; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 70: Hoare triple {158756#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 69: Hoare triple {158756#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 68: Hoare triple {158756#true} assume !(~c~0 >= 2 * ~v~0); {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {158756#true} {158756#true} #104#return; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 66: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 65: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 64: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L272 TraceCheckUtils]: 63: Hoare triple {158756#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {158756#true} {158756#true} #102#return; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 61: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 60: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 59: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L272 TraceCheckUtils]: 58: Hoare triple {158756#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {158756#true} {158756#true} #100#return; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 56: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,993 INFO L290 TraceCheckUtils]: 55: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 54: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L272 TraceCheckUtils]: 53: Hoare triple {158756#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {158756#true} {158756#true} #98#return; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 49: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L272 TraceCheckUtils]: 48: Hoare triple {158756#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 47: Hoare triple {158756#true} assume !!(#t~post8 < 100);havoc #t~post8; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 46: Hoare triple {158756#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 45: Hoare triple {158756#true} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {158756#true} {158756#true} #104#return; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 43: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 42: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 41: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L272 TraceCheckUtils]: 40: Hoare triple {158756#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {158756#true} {158756#true} #102#return; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 38: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 37: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 36: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L272 TraceCheckUtils]: 35: Hoare triple {158756#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {158756#true} {158756#true} #100#return; {158756#true} is VALID [2022-04-07 13:58:47,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 32: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L272 TraceCheckUtils]: 30: Hoare triple {158756#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {158756#true} {158756#true} #98#return; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 27: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L272 TraceCheckUtils]: 25: Hoare triple {158756#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 24: Hoare triple {158756#true} assume !!(#t~post8 < 100);havoc #t~post8; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 23: Hoare triple {158756#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {158756#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 21: Hoare triple {158756#true} assume !!(#t~post7 < 100);havoc #t~post7; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 20: Hoare triple {158756#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 19: Hoare triple {158756#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {158756#true} assume !!(#t~post6 < 100);havoc #t~post6; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {158756#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {158756#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {158756#true} {158756#true} #96#return; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,995 INFO L272 TraceCheckUtils]: 11: Hoare triple {158756#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {158756#true} {158756#true} #94#return; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {158756#true} assume !(0 == ~cond); {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {158756#true} ~cond := #in~cond; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L272 TraceCheckUtils]: 6: Hoare triple {158756#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {158756#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {158756#true} call #t~ret9 := main(); {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {158756#true} {158756#true} #108#return; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {158756#true} assume true; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {158756#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {158756#true} is VALID [2022-04-07 13:58:47,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {158756#true} call ULTIMATE.init(); {158756#true} is VALID [2022-04-07 13:58:47,997 INFO L134 CoverageAnalysis]: Checked inductivity of 326 backedges. 117 proven. 12 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-07 13:58:47,997 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:58:47,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071573998] [2022-04-07 13:58:47,997 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:58:47,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [473566747] [2022-04-07 13:58:47,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [473566747] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:58:47,997 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:58:47,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-07 13:58:47,998 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679542355] [2022-04-07 13:58:47,998 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:58:47,999 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) Word has length 108 [2022-04-07 13:58:47,999 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:58:48,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:58:48,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:58:48,948 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-07 13:58:48,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:58:48,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-07 13:58:48,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=455, Unknown=0, NotChecked=0, Total=552 [2022-04-07 13:58:48,948 INFO L87 Difference]: Start difference. First operand 5700 states and 8127 transitions. Second operand has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:59:02,939 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:59:30,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:59:30,482 INFO L93 Difference]: Finished difference Result 6746 states and 9583 transitions. [2022-04-07 13:59:30,482 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-07 13:59:30,482 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) Word has length 108 [2022-04-07 13:59:30,482 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:59:30,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:59:30,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 307 transitions. [2022-04-07 13:59:30,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:59:30,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 307 transitions. [2022-04-07 13:59:30,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 307 transitions. [2022-04-07 13:59:34,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 307 edges. 307 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:59:36,165 INFO L225 Difference]: With dead ends: 6746 [2022-04-07 13:59:36,165 INFO L226 Difference]: Without dead ends: 6740 [2022-04-07 13:59:36,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 201 SyntacticMatches, 3 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 364 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=340, Invalid=1466, Unknown=0, NotChecked=0, Total=1806 [2022-04-07 13:59:36,168 INFO L913 BasicCegarLoop]: 77 mSDtfsCounter, 193 mSDsluCounter, 692 mSDsCounter, 0 mSdLazyCounter, 1425 mSolverCounterSat, 272 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 207 SdHoareTripleChecker+Valid, 769 SdHoareTripleChecker+Invalid, 1698 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 272 IncrementalHoareTripleChecker+Valid, 1425 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:59:36,168 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [207 Valid, 769 Invalid, 1698 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [272 Valid, 1425 Invalid, 1 Unknown, 0 Unchecked, 8.1s Time] [2022-04-07 13:59:36,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 6740 states. [2022-04-07 13:59:51,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 6740 to 6125. [2022-04-07 13:59:51,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:59:51,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 6740 states. Second operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) [2022-04-07 13:59:51,683 INFO L74 IsIncluded]: Start isIncluded. First operand 6740 states. Second operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) [2022-04-07 13:59:51,687 INFO L87 Difference]: Start difference. First operand 6740 states. Second operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) [2022-04-07 13:59:53,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:59:53,095 INFO L93 Difference]: Finished difference Result 6740 states and 9533 transitions. [2022-04-07 13:59:53,095 INFO L276 IsEmpty]: Start isEmpty. Operand 6740 states and 9533 transitions. [2022-04-07 13:59:53,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:59:53,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:59:53,111 INFO L74 IsIncluded]: Start isIncluded. First operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) Second operand 6740 states. [2022-04-07 13:59:53,115 INFO L87 Difference]: Start difference. First operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) Second operand 6740 states. [2022-04-07 13:59:54,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:59:54,527 INFO L93 Difference]: Finished difference Result 6740 states and 9533 transitions. [2022-04-07 13:59:54,527 INFO L276 IsEmpty]: Start isEmpty. Operand 6740 states and 9533 transitions. [2022-04-07 13:59:54,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:59:54,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:59:54,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:59:54,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:59:54,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6125 states, 4000 states have (on average 1.30625) internal successors, (5225), 4022 states have internal predecessors, (5225), 1793 states have call successors, (1793), 333 states have call predecessors, (1793), 331 states have return successors, (1791), 1769 states have call predecessors, (1791), 1791 states have call successors, (1791) [2022-04-07 13:59:56,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6125 states to 6125 states and 8809 transitions. [2022-04-07 13:59:56,227 INFO L78 Accepts]: Start accepts. Automaton has 6125 states and 8809 transitions. Word has length 108 [2022-04-07 13:59:56,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:59:56,227 INFO L478 AbstractCegarLoop]: Abstraction has 6125 states and 8809 transitions. [2022-04-07 13:59:56,228 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 20 states have (on average 3.45) internal successors, (69), 21 states have internal predecessors, (69), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 8 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:59:56,228 INFO L276 IsEmpty]: Start isEmpty. Operand 6125 states and 8809 transitions. [2022-04-07 13:59:56,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-07 13:59:56,228 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:59:56,229 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:59:56,245 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-07 13:59:56,429 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-07 13:59:56,429 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:59:56,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:59:56,430 INFO L85 PathProgramCache]: Analyzing trace with hash -193506847, now seen corresponding path program 1 times [2022-04-07 13:59:56,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:59:56,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [688662347] [2022-04-07 13:59:56,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:59:56,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:59:56,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:59:56,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [647461179] [2022-04-07 13:59:56,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:59:56,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:59:56,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:59:56,444 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:59:56,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-07 13:59:56,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:59:56,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-07 13:59:56,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:59:56,539 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:59:57,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {192028#true} call ULTIMATE.init(); {192028#true} is VALID [2022-04-07 13:59:57,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {192028#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {192036#(<= ~counter~0 0)} assume true; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {192036#(<= ~counter~0 0)} {192028#true} #108#return; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {192036#(<= ~counter~0 0)} call #t~ret9 := main(); {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {192036#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {192036#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {192036#(<= ~counter~0 0)} ~cond := #in~cond; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {192036#(<= ~counter~0 0)} assume !(0 == ~cond); {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {192036#(<= ~counter~0 0)} assume true; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,040 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {192036#(<= ~counter~0 0)} {192036#(<= ~counter~0 0)} #94#return; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,041 INFO L272 TraceCheckUtils]: 11: Hoare triple {192036#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {192036#(<= ~counter~0 0)} ~cond := #in~cond; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {192036#(<= ~counter~0 0)} assume !(0 == ~cond); {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {192036#(<= ~counter~0 0)} assume true; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,042 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {192036#(<= ~counter~0 0)} {192036#(<= ~counter~0 0)} #96#return; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,042 INFO L290 TraceCheckUtils]: 16: Hoare triple {192036#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {192036#(<= ~counter~0 0)} is VALID [2022-04-07 13:59:57,044 INFO L290 TraceCheckUtils]: 17: Hoare triple {192036#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192085#(<= ~counter~0 1)} is VALID [2022-04-07 13:59:57,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {192085#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {192085#(<= ~counter~0 1)} is VALID [2022-04-07 13:59:57,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {192085#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192085#(<= ~counter~0 1)} is VALID [2022-04-07 13:59:57,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {192085#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192095#(<= ~counter~0 2)} is VALID [2022-04-07 13:59:57,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {192095#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {192095#(<= ~counter~0 2)} is VALID [2022-04-07 13:59:57,046 INFO L290 TraceCheckUtils]: 22: Hoare triple {192095#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192095#(<= ~counter~0 2)} is VALID [2022-04-07 13:59:57,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {192095#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {192105#(<= ~counter~0 3)} assume !!(#t~post8 < 100);havoc #t~post8; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,048 INFO L272 TraceCheckUtils]: 25: Hoare triple {192105#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,048 INFO L290 TraceCheckUtils]: 26: Hoare triple {192105#(<= ~counter~0 3)} ~cond := #in~cond; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {192105#(<= ~counter~0 3)} assume !(0 == ~cond); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,049 INFO L290 TraceCheckUtils]: 28: Hoare triple {192105#(<= ~counter~0 3)} assume true; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,049 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {192105#(<= ~counter~0 3)} {192105#(<= ~counter~0 3)} #98#return; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,050 INFO L272 TraceCheckUtils]: 30: Hoare triple {192105#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {192105#(<= ~counter~0 3)} ~cond := #in~cond; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {192105#(<= ~counter~0 3)} assume !(0 == ~cond); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,051 INFO L290 TraceCheckUtils]: 33: Hoare triple {192105#(<= ~counter~0 3)} assume true; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,051 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {192105#(<= ~counter~0 3)} {192105#(<= ~counter~0 3)} #100#return; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,052 INFO L272 TraceCheckUtils]: 35: Hoare triple {192105#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,052 INFO L290 TraceCheckUtils]: 36: Hoare triple {192105#(<= ~counter~0 3)} ~cond := #in~cond; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,052 INFO L290 TraceCheckUtils]: 37: Hoare triple {192105#(<= ~counter~0 3)} assume !(0 == ~cond); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,052 INFO L290 TraceCheckUtils]: 38: Hoare triple {192105#(<= ~counter~0 3)} assume true; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,053 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {192105#(<= ~counter~0 3)} {192105#(<= ~counter~0 3)} #102#return; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,054 INFO L272 TraceCheckUtils]: 40: Hoare triple {192105#(<= ~counter~0 3)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,054 INFO L290 TraceCheckUtils]: 41: Hoare triple {192105#(<= ~counter~0 3)} ~cond := #in~cond; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,054 INFO L290 TraceCheckUtils]: 42: Hoare triple {192105#(<= ~counter~0 3)} assume !(0 == ~cond); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,055 INFO L290 TraceCheckUtils]: 43: Hoare triple {192105#(<= ~counter~0 3)} assume true; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,055 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {192105#(<= ~counter~0 3)} {192105#(<= ~counter~0 3)} #104#return; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {192105#(<= ~counter~0 3)} assume !(~c~0 >= 2 * ~v~0); {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,061 INFO L290 TraceCheckUtils]: 46: Hoare triple {192105#(<= ~counter~0 3)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192105#(<= ~counter~0 3)} is VALID [2022-04-07 13:59:57,062 INFO L290 TraceCheckUtils]: 47: Hoare triple {192105#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192178#(<= ~counter~0 4)} is VALID [2022-04-07 13:59:57,063 INFO L290 TraceCheckUtils]: 48: Hoare triple {192178#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {192178#(<= ~counter~0 4)} is VALID [2022-04-07 13:59:57,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {192178#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {192178#(<= ~counter~0 4)} is VALID [2022-04-07 13:59:57,063 INFO L290 TraceCheckUtils]: 50: Hoare triple {192178#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192178#(<= ~counter~0 4)} is VALID [2022-04-07 13:59:57,064 INFO L290 TraceCheckUtils]: 51: Hoare triple {192178#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192191#(<= ~counter~0 5)} is VALID [2022-04-07 13:59:57,065 INFO L290 TraceCheckUtils]: 52: Hoare triple {192191#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {192191#(<= ~counter~0 5)} is VALID [2022-04-07 13:59:57,065 INFO L290 TraceCheckUtils]: 53: Hoare triple {192191#(<= ~counter~0 5)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192191#(<= ~counter~0 5)} is VALID [2022-04-07 13:59:57,066 INFO L290 TraceCheckUtils]: 54: Hoare triple {192191#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192201#(<= ~counter~0 6)} is VALID [2022-04-07 13:59:57,066 INFO L290 TraceCheckUtils]: 55: Hoare triple {192201#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {192201#(<= ~counter~0 6)} is VALID [2022-04-07 13:59:57,066 INFO L290 TraceCheckUtils]: 56: Hoare triple {192201#(<= ~counter~0 6)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192201#(<= ~counter~0 6)} is VALID [2022-04-07 13:59:57,067 INFO L290 TraceCheckUtils]: 57: Hoare triple {192201#(<= ~counter~0 6)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,068 INFO L290 TraceCheckUtils]: 58: Hoare triple {192211#(<= ~counter~0 7)} assume !!(#t~post8 < 100);havoc #t~post8; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,068 INFO L272 TraceCheckUtils]: 59: Hoare triple {192211#(<= ~counter~0 7)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,068 INFO L290 TraceCheckUtils]: 60: Hoare triple {192211#(<= ~counter~0 7)} ~cond := #in~cond; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,069 INFO L290 TraceCheckUtils]: 61: Hoare triple {192211#(<= ~counter~0 7)} assume !(0 == ~cond); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,069 INFO L290 TraceCheckUtils]: 62: Hoare triple {192211#(<= ~counter~0 7)} assume true; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,069 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {192211#(<= ~counter~0 7)} {192211#(<= ~counter~0 7)} #98#return; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,070 INFO L272 TraceCheckUtils]: 64: Hoare triple {192211#(<= ~counter~0 7)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,070 INFO L290 TraceCheckUtils]: 65: Hoare triple {192211#(<= ~counter~0 7)} ~cond := #in~cond; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,071 INFO L290 TraceCheckUtils]: 66: Hoare triple {192211#(<= ~counter~0 7)} assume !(0 == ~cond); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,071 INFO L290 TraceCheckUtils]: 67: Hoare triple {192211#(<= ~counter~0 7)} assume true; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,071 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {192211#(<= ~counter~0 7)} {192211#(<= ~counter~0 7)} #100#return; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,072 INFO L272 TraceCheckUtils]: 69: Hoare triple {192211#(<= ~counter~0 7)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,072 INFO L290 TraceCheckUtils]: 70: Hoare triple {192211#(<= ~counter~0 7)} ~cond := #in~cond; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,072 INFO L290 TraceCheckUtils]: 71: Hoare triple {192211#(<= ~counter~0 7)} assume !(0 == ~cond); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,073 INFO L290 TraceCheckUtils]: 72: Hoare triple {192211#(<= ~counter~0 7)} assume true; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,073 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {192211#(<= ~counter~0 7)} {192211#(<= ~counter~0 7)} #102#return; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,074 INFO L272 TraceCheckUtils]: 74: Hoare triple {192211#(<= ~counter~0 7)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,074 INFO L290 TraceCheckUtils]: 75: Hoare triple {192211#(<= ~counter~0 7)} ~cond := #in~cond; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,075 INFO L290 TraceCheckUtils]: 76: Hoare triple {192211#(<= ~counter~0 7)} assume !(0 == ~cond); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,075 INFO L290 TraceCheckUtils]: 77: Hoare triple {192211#(<= ~counter~0 7)} assume true; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,075 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {192211#(<= ~counter~0 7)} {192211#(<= ~counter~0 7)} #104#return; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,076 INFO L290 TraceCheckUtils]: 79: Hoare triple {192211#(<= ~counter~0 7)} assume !(~c~0 >= 2 * ~v~0); {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,076 INFO L290 TraceCheckUtils]: 80: Hoare triple {192211#(<= ~counter~0 7)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192211#(<= ~counter~0 7)} is VALID [2022-04-07 13:59:57,077 INFO L290 TraceCheckUtils]: 81: Hoare triple {192211#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192284#(<= ~counter~0 8)} is VALID [2022-04-07 13:59:57,077 INFO L290 TraceCheckUtils]: 82: Hoare triple {192284#(<= ~counter~0 8)} assume !!(#t~post7 < 100);havoc #t~post7; {192284#(<= ~counter~0 8)} is VALID [2022-04-07 13:59:57,080 INFO L290 TraceCheckUtils]: 83: Hoare triple {192284#(<= ~counter~0 8)} assume !(~c~0 >= ~b~0); {192284#(<= ~counter~0 8)} is VALID [2022-04-07 13:59:57,080 INFO L290 TraceCheckUtils]: 84: Hoare triple {192284#(<= ~counter~0 8)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192284#(<= ~counter~0 8)} is VALID [2022-04-07 13:59:57,081 INFO L290 TraceCheckUtils]: 85: Hoare triple {192284#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192297#(<= ~counter~0 9)} is VALID [2022-04-07 13:59:57,081 INFO L290 TraceCheckUtils]: 86: Hoare triple {192297#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {192297#(<= ~counter~0 9)} is VALID [2022-04-07 13:59:57,082 INFO L290 TraceCheckUtils]: 87: Hoare triple {192297#(<= ~counter~0 9)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192297#(<= ~counter~0 9)} is VALID [2022-04-07 13:59:57,083 INFO L290 TraceCheckUtils]: 88: Hoare triple {192297#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192307#(<= ~counter~0 10)} is VALID [2022-04-07 13:59:57,083 INFO L290 TraceCheckUtils]: 89: Hoare triple {192307#(<= ~counter~0 10)} assume !!(#t~post7 < 100);havoc #t~post7; {192307#(<= ~counter~0 10)} is VALID [2022-04-07 13:59:57,083 INFO L290 TraceCheckUtils]: 90: Hoare triple {192307#(<= ~counter~0 10)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192307#(<= ~counter~0 10)} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 91: Hoare triple {192307#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192317#(<= |main_#t~post8| 10)} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 92: Hoare triple {192317#(<= |main_#t~post8| 10)} assume !(#t~post8 < 100);havoc #t~post8; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 93: Hoare triple {192029#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 94: Hoare triple {192029#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 95: Hoare triple {192029#false} assume !!(#t~post7 < 100);havoc #t~post7; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 96: Hoare triple {192029#false} assume !(~c~0 >= ~b~0); {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 97: Hoare triple {192029#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 98: Hoare triple {192029#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 99: Hoare triple {192029#false} assume !!(#t~post6 < 100);havoc #t~post6; {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 100: Hoare triple {192029#false} assume !(0 != ~b~0); {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L272 TraceCheckUtils]: 101: Hoare triple {192029#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {192029#false} is VALID [2022-04-07 13:59:57,084 INFO L290 TraceCheckUtils]: 102: Hoare triple {192029#false} ~cond := #in~cond; {192029#false} is VALID [2022-04-07 13:59:57,085 INFO L290 TraceCheckUtils]: 103: Hoare triple {192029#false} assume 0 == ~cond; {192029#false} is VALID [2022-04-07 13:59:57,085 INFO L290 TraceCheckUtils]: 104: Hoare triple {192029#false} assume !false; {192029#false} is VALID [2022-04-07 13:59:57,085 INFO L134 CoverageAnalysis]: Checked inductivity of 212 backedges. 44 proven. 116 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-07 13:59:57,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:59:57,714 INFO L290 TraceCheckUtils]: 104: Hoare triple {192029#false} assume !false; {192029#false} is VALID [2022-04-07 13:59:57,714 INFO L290 TraceCheckUtils]: 103: Hoare triple {192029#false} assume 0 == ~cond; {192029#false} is VALID [2022-04-07 13:59:57,714 INFO L290 TraceCheckUtils]: 102: Hoare triple {192029#false} ~cond := #in~cond; {192029#false} is VALID [2022-04-07 13:59:57,714 INFO L272 TraceCheckUtils]: 101: Hoare triple {192029#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 100: Hoare triple {192029#false} assume !(0 != ~b~0); {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 99: Hoare triple {192029#false} assume !!(#t~post6 < 100);havoc #t~post6; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 98: Hoare triple {192029#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 97: Hoare triple {192029#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 96: Hoare triple {192029#false} assume !(~c~0 >= ~b~0); {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 95: Hoare triple {192029#false} assume !!(#t~post7 < 100);havoc #t~post7; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 94: Hoare triple {192029#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 93: Hoare triple {192029#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192029#false} is VALID [2022-04-07 13:59:57,715 INFO L290 TraceCheckUtils]: 92: Hoare triple {192393#(< |main_#t~post8| 100)} assume !(#t~post8 < 100);havoc #t~post8; {192029#false} is VALID [2022-04-07 13:59:57,716 INFO L290 TraceCheckUtils]: 91: Hoare triple {192397#(< ~counter~0 100)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192393#(< |main_#t~post8| 100)} is VALID [2022-04-07 13:59:57,716 INFO L290 TraceCheckUtils]: 90: Hoare triple {192397#(< ~counter~0 100)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192397#(< ~counter~0 100)} is VALID [2022-04-07 13:59:57,716 INFO L290 TraceCheckUtils]: 89: Hoare triple {192397#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {192397#(< ~counter~0 100)} is VALID [2022-04-07 13:59:57,718 INFO L290 TraceCheckUtils]: 88: Hoare triple {192407#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192397#(< ~counter~0 100)} is VALID [2022-04-07 13:59:57,719 INFO L290 TraceCheckUtils]: 87: Hoare triple {192407#(< ~counter~0 99)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192407#(< ~counter~0 99)} is VALID [2022-04-07 13:59:57,719 INFO L290 TraceCheckUtils]: 86: Hoare triple {192407#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {192407#(< ~counter~0 99)} is VALID [2022-04-07 13:59:57,724 INFO L290 TraceCheckUtils]: 85: Hoare triple {192417#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192407#(< ~counter~0 99)} is VALID [2022-04-07 13:59:57,724 INFO L290 TraceCheckUtils]: 84: Hoare triple {192417#(< ~counter~0 98)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192417#(< ~counter~0 98)} is VALID [2022-04-07 13:59:57,724 INFO L290 TraceCheckUtils]: 83: Hoare triple {192417#(< ~counter~0 98)} assume !(~c~0 >= ~b~0); {192417#(< ~counter~0 98)} is VALID [2022-04-07 13:59:57,725 INFO L290 TraceCheckUtils]: 82: Hoare triple {192417#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {192417#(< ~counter~0 98)} is VALID [2022-04-07 13:59:57,726 INFO L290 TraceCheckUtils]: 81: Hoare triple {192430#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192417#(< ~counter~0 98)} is VALID [2022-04-07 13:59:57,726 INFO L290 TraceCheckUtils]: 80: Hoare triple {192430#(< ~counter~0 97)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,726 INFO L290 TraceCheckUtils]: 79: Hoare triple {192430#(< ~counter~0 97)} assume !(~c~0 >= 2 * ~v~0); {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,727 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {192028#true} {192430#(< ~counter~0 97)} #104#return; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,727 INFO L290 TraceCheckUtils]: 77: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,727 INFO L290 TraceCheckUtils]: 76: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,727 INFO L290 TraceCheckUtils]: 75: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,727 INFO L272 TraceCheckUtils]: 74: Hoare triple {192430#(< ~counter~0 97)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,728 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {192028#true} {192430#(< ~counter~0 97)} #102#return; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,728 INFO L290 TraceCheckUtils]: 72: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,728 INFO L290 TraceCheckUtils]: 71: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,728 INFO L290 TraceCheckUtils]: 70: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,728 INFO L272 TraceCheckUtils]: 69: Hoare triple {192430#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,729 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {192028#true} {192430#(< ~counter~0 97)} #100#return; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,729 INFO L290 TraceCheckUtils]: 67: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,729 INFO L290 TraceCheckUtils]: 66: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,729 INFO L290 TraceCheckUtils]: 65: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,729 INFO L272 TraceCheckUtils]: 64: Hoare triple {192430#(< ~counter~0 97)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,730 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {192028#true} {192430#(< ~counter~0 97)} #98#return; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,730 INFO L290 TraceCheckUtils]: 62: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,730 INFO L290 TraceCheckUtils]: 61: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,730 INFO L290 TraceCheckUtils]: 60: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,730 INFO L272 TraceCheckUtils]: 59: Hoare triple {192430#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {192430#(< ~counter~0 97)} assume !!(#t~post8 < 100);havoc #t~post8; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,732 INFO L290 TraceCheckUtils]: 57: Hoare triple {192503#(< ~counter~0 96)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192430#(< ~counter~0 97)} is VALID [2022-04-07 13:59:57,732 INFO L290 TraceCheckUtils]: 56: Hoare triple {192503#(< ~counter~0 96)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192503#(< ~counter~0 96)} is VALID [2022-04-07 13:59:57,732 INFO L290 TraceCheckUtils]: 55: Hoare triple {192503#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {192503#(< ~counter~0 96)} is VALID [2022-04-07 13:59:57,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {192513#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192503#(< ~counter~0 96)} is VALID [2022-04-07 13:59:57,733 INFO L290 TraceCheckUtils]: 53: Hoare triple {192513#(< ~counter~0 95)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192513#(< ~counter~0 95)} is VALID [2022-04-07 13:59:57,734 INFO L290 TraceCheckUtils]: 52: Hoare triple {192513#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {192513#(< ~counter~0 95)} is VALID [2022-04-07 13:59:57,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {192523#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192513#(< ~counter~0 95)} is VALID [2022-04-07 13:59:57,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {192523#(< ~counter~0 94)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {192523#(< ~counter~0 94)} is VALID [2022-04-07 13:59:57,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {192523#(< ~counter~0 94)} assume !(~c~0 >= ~b~0); {192523#(< ~counter~0 94)} is VALID [2022-04-07 13:59:57,736 INFO L290 TraceCheckUtils]: 48: Hoare triple {192523#(< ~counter~0 94)} assume !!(#t~post7 < 100);havoc #t~post7; {192523#(< ~counter~0 94)} is VALID [2022-04-07 13:59:57,736 INFO L290 TraceCheckUtils]: 47: Hoare triple {192536#(< ~counter~0 93)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192523#(< ~counter~0 94)} is VALID [2022-04-07 13:59:57,737 INFO L290 TraceCheckUtils]: 46: Hoare triple {192536#(< ~counter~0 93)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,737 INFO L290 TraceCheckUtils]: 45: Hoare triple {192536#(< ~counter~0 93)} assume !(~c~0 >= 2 * ~v~0); {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,738 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {192028#true} {192536#(< ~counter~0 93)} #104#return; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,738 INFO L290 TraceCheckUtils]: 43: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,738 INFO L272 TraceCheckUtils]: 40: Hoare triple {192536#(< ~counter~0 93)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,739 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {192028#true} {192536#(< ~counter~0 93)} #102#return; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,739 INFO L290 TraceCheckUtils]: 38: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,739 INFO L272 TraceCheckUtils]: 35: Hoare triple {192536#(< ~counter~0 93)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,740 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {192028#true} {192536#(< ~counter~0 93)} #100#return; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,740 INFO L272 TraceCheckUtils]: 30: Hoare triple {192536#(< ~counter~0 93)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,741 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {192028#true} {192536#(< ~counter~0 93)} #98#return; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,741 INFO L272 TraceCheckUtils]: 25: Hoare triple {192536#(< ~counter~0 93)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {192536#(< ~counter~0 93)} assume !!(#t~post8 < 100);havoc #t~post8; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,742 INFO L290 TraceCheckUtils]: 23: Hoare triple {192609#(< ~counter~0 92)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {192536#(< ~counter~0 93)} is VALID [2022-04-07 13:59:57,742 INFO L290 TraceCheckUtils]: 22: Hoare triple {192609#(< ~counter~0 92)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {192609#(< ~counter~0 92)} is VALID [2022-04-07 13:59:57,743 INFO L290 TraceCheckUtils]: 21: Hoare triple {192609#(< ~counter~0 92)} assume !!(#t~post7 < 100);havoc #t~post7; {192609#(< ~counter~0 92)} is VALID [2022-04-07 13:59:57,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {192619#(< ~counter~0 91)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {192609#(< ~counter~0 92)} is VALID [2022-04-07 13:59:57,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {192619#(< ~counter~0 91)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {192619#(< ~counter~0 91)} is VALID [2022-04-07 13:59:57,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {192619#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {192619#(< ~counter~0 91)} is VALID [2022-04-07 13:59:57,745 INFO L290 TraceCheckUtils]: 17: Hoare triple {192629#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {192619#(< ~counter~0 91)} is VALID [2022-04-07 13:59:57,745 INFO L290 TraceCheckUtils]: 16: Hoare triple {192629#(< ~counter~0 90)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,746 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {192028#true} {192629#(< ~counter~0 90)} #96#return; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,746 INFO L272 TraceCheckUtils]: 11: Hoare triple {192629#(< ~counter~0 90)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {192028#true} {192629#(< ~counter~0 90)} #94#return; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {192028#true} assume true; {192028#true} is VALID [2022-04-07 13:59:57,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {192028#true} assume !(0 == ~cond); {192028#true} is VALID [2022-04-07 13:59:57,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {192028#true} ~cond := #in~cond; {192028#true} is VALID [2022-04-07 13:59:57,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {192629#(< ~counter~0 90)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {192028#true} is VALID [2022-04-07 13:59:57,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {192629#(< ~counter~0 90)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {192629#(< ~counter~0 90)} call #t~ret9 := main(); {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {192629#(< ~counter~0 90)} {192028#true} #108#return; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {192629#(< ~counter~0 90)} assume true; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {192028#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {192629#(< ~counter~0 90)} is VALID [2022-04-07 13:59:57,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {192028#true} call ULTIMATE.init(); {192028#true} is VALID [2022-04-07 13:59:57,749 INFO L134 CoverageAnalysis]: Checked inductivity of 212 backedges. 44 proven. 52 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-07 13:59:57,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:59:57,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [688662347] [2022-04-07 13:59:57,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:59:57,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [647461179] [2022-04-07 13:59:57,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [647461179] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:59:57,749 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:59:57,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2022-04-07 13:59:57,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1859448663] [2022-04-07 13:59:57,750 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:59:57,750 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) Word has length 105 [2022-04-07 13:59:57,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:59:57,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 13:59:57,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:59:57,881 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-07 13:59:57,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:59:57,881 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-07 13:59:57,882 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=281, Invalid=369, Unknown=0, NotChecked=0, Total=650 [2022-04-07 13:59:57,882 INFO L87 Difference]: Start difference. First operand 6125 states and 8809 transitions. Second operand has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 14:00:24,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:00:24,544 INFO L93 Difference]: Finished difference Result 10652 states and 15480 transitions. [2022-04-07 14:00:24,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-04-07 14:00:24,544 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) Word has length 105 [2022-04-07 14:00:24,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:00:24,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 14:00:24,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 600 transitions. [2022-04-07 14:00:24,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 14:00:24,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 600 transitions. [2022-04-07 14:00:24,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 600 transitions. [2022-04-07 14:00:25,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 600 edges. 600 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:00:27,809 INFO L225 Difference]: With dead ends: 10652 [2022-04-07 14:00:27,809 INFO L226 Difference]: Without dead ends: 7130 [2022-04-07 14:00:27,816 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 228 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 282 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=708, Invalid=1272, Unknown=0, NotChecked=0, Total=1980 [2022-04-07 14:00:27,819 INFO L913 BasicCegarLoop]: 120 mSDtfsCounter, 771 mSDsluCounter, 602 mSDsCounter, 0 mSdLazyCounter, 425 mSolverCounterSat, 496 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 771 SdHoareTripleChecker+Valid, 722 SdHoareTripleChecker+Invalid, 921 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 496 IncrementalHoareTripleChecker+Valid, 425 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 14:00:27,819 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [771 Valid, 722 Invalid, 921 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [496 Valid, 425 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-07 14:00:27,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7130 states. [2022-04-07 14:00:46,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7130 to 6955. [2022-04-07 14:00:46,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:00:46,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 7130 states. Second operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) [2022-04-07 14:00:46,898 INFO L74 IsIncluded]: Start isIncluded. First operand 7130 states. Second operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) [2022-04-07 14:00:46,904 INFO L87 Difference]: Start difference. First operand 7130 states. Second operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) [2022-04-07 14:00:48,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:00:48,381 INFO L93 Difference]: Finished difference Result 7130 states and 9832 transitions. [2022-04-07 14:00:48,381 INFO L276 IsEmpty]: Start isEmpty. Operand 7130 states and 9832 transitions. [2022-04-07 14:00:48,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:00:48,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:00:48,399 INFO L74 IsIncluded]: Start isIncluded. First operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) Second operand 7130 states. [2022-04-07 14:00:48,405 INFO L87 Difference]: Start difference. First operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) Second operand 7130 states. [2022-04-07 14:00:49,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:00:49,929 INFO L93 Difference]: Finished difference Result 7130 states and 9832 transitions. [2022-04-07 14:00:49,929 INFO L276 IsEmpty]: Start isEmpty. Operand 7130 states and 9832 transitions. [2022-04-07 14:00:49,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:00:49,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:00:49,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:00:49,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:00:49,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6955 states, 4488 states have (on average 1.2210338680926915) internal successors, (5480), 4506 states have internal predecessors, (5480), 2089 states have call successors, (2089), 379 states have call predecessors, (2089), 377 states have return successors, (2087), 2069 states have call predecessors, (2087), 2087 states have call successors, (2087) [2022-04-07 14:00:52,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6955 states to 6955 states and 9656 transitions. [2022-04-07 14:00:52,282 INFO L78 Accepts]: Start accepts. Automaton has 6955 states and 9656 transitions. Word has length 105 [2022-04-07 14:00:52,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:00:52,282 INFO L478 AbstractCegarLoop]: Abstraction has 6955 states and 9656 transitions. [2022-04-07 14:00:52,282 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 4.076923076923077) internal successors, (106), 26 states have internal predecessors, (106), 8 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-07 14:00:52,282 INFO L276 IsEmpty]: Start isEmpty. Operand 6955 states and 9656 transitions. [2022-04-07 14:00:52,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 133 [2022-04-07 14:00:52,284 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:00:52,284 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 7, 7, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:00:52,303 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-07 14:00:52,484 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-07 14:00:52,484 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:00:52,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:00:52,485 INFO L85 PathProgramCache]: Analyzing trace with hash 862891816, now seen corresponding path program 2 times [2022-04-07 14:00:52,485 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:00:52,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940115408] [2022-04-07 14:00:52,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:00:52,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:00:52,517 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:00:52,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1346474243] [2022-04-07 14:00:52,517 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 14:00:52,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:00:52,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:00:52,520 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 14:00:52,536 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-07 14:00:52,619 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 14:00:52,619 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:00:52,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 387 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-07 14:00:52,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:00:52,651 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:00:53,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {233356#true} call ULTIMATE.init(); {233356#true} is VALID [2022-04-07 14:00:53,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {233356#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {233364#(<= ~counter~0 0)} assume true; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {233364#(<= ~counter~0 0)} {233356#true} #108#return; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {233364#(<= ~counter~0 0)} call #t~ret9 := main(); {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {233364#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,354 INFO L272 TraceCheckUtils]: 6: Hoare triple {233364#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {233364#(<= ~counter~0 0)} ~cond := #in~cond; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {233364#(<= ~counter~0 0)} assume !(0 == ~cond); {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {233364#(<= ~counter~0 0)} assume true; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,355 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {233364#(<= ~counter~0 0)} {233364#(<= ~counter~0 0)} #94#return; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,355 INFO L272 TraceCheckUtils]: 11: Hoare triple {233364#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,356 INFO L290 TraceCheckUtils]: 12: Hoare triple {233364#(<= ~counter~0 0)} ~cond := #in~cond; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,356 INFO L290 TraceCheckUtils]: 13: Hoare triple {233364#(<= ~counter~0 0)} assume !(0 == ~cond); {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {233364#(<= ~counter~0 0)} assume true; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,357 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {233364#(<= ~counter~0 0)} {233364#(<= ~counter~0 0)} #96#return; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,357 INFO L290 TraceCheckUtils]: 16: Hoare triple {233364#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {233364#(<= ~counter~0 0)} is VALID [2022-04-07 14:00:53,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {233364#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233413#(<= ~counter~0 1)} is VALID [2022-04-07 14:00:53,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {233413#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {233413#(<= ~counter~0 1)} is VALID [2022-04-07 14:00:53,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {233413#(<= ~counter~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233413#(<= ~counter~0 1)} is VALID [2022-04-07 14:00:53,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {233413#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233423#(<= ~counter~0 2)} is VALID [2022-04-07 14:00:53,360 INFO L290 TraceCheckUtils]: 21: Hoare triple {233423#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {233423#(<= ~counter~0 2)} is VALID [2022-04-07 14:00:53,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {233423#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {233423#(<= ~counter~0 2)} is VALID [2022-04-07 14:00:53,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {233423#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233423#(<= ~counter~0 2)} is VALID [2022-04-07 14:00:53,361 INFO L290 TraceCheckUtils]: 24: Hoare triple {233423#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233436#(<= ~counter~0 3)} is VALID [2022-04-07 14:00:53,361 INFO L290 TraceCheckUtils]: 25: Hoare triple {233436#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {233436#(<= ~counter~0 3)} is VALID [2022-04-07 14:00:53,362 INFO L290 TraceCheckUtils]: 26: Hoare triple {233436#(<= ~counter~0 3)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233436#(<= ~counter~0 3)} is VALID [2022-04-07 14:00:53,362 INFO L290 TraceCheckUtils]: 27: Hoare triple {233436#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233446#(<= ~counter~0 4)} is VALID [2022-04-07 14:00:53,363 INFO L290 TraceCheckUtils]: 28: Hoare triple {233446#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {233446#(<= ~counter~0 4)} is VALID [2022-04-07 14:00:53,363 INFO L290 TraceCheckUtils]: 29: Hoare triple {233446#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {233446#(<= ~counter~0 4)} is VALID [2022-04-07 14:00:53,364 INFO L290 TraceCheckUtils]: 30: Hoare triple {233446#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,364 INFO L290 TraceCheckUtils]: 31: Hoare triple {233456#(<= ~counter~0 5)} assume !!(#t~post8 < 100);havoc #t~post8; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,365 INFO L272 TraceCheckUtils]: 32: Hoare triple {233456#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {233456#(<= ~counter~0 5)} ~cond := #in~cond; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,365 INFO L290 TraceCheckUtils]: 34: Hoare triple {233456#(<= ~counter~0 5)} assume !(0 == ~cond); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,365 INFO L290 TraceCheckUtils]: 35: Hoare triple {233456#(<= ~counter~0 5)} assume true; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,366 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {233456#(<= ~counter~0 5)} {233456#(<= ~counter~0 5)} #98#return; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,366 INFO L272 TraceCheckUtils]: 37: Hoare triple {233456#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,367 INFO L290 TraceCheckUtils]: 38: Hoare triple {233456#(<= ~counter~0 5)} ~cond := #in~cond; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,367 INFO L290 TraceCheckUtils]: 39: Hoare triple {233456#(<= ~counter~0 5)} assume !(0 == ~cond); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,367 INFO L290 TraceCheckUtils]: 40: Hoare triple {233456#(<= ~counter~0 5)} assume true; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,368 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {233456#(<= ~counter~0 5)} {233456#(<= ~counter~0 5)} #100#return; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,368 INFO L272 TraceCheckUtils]: 42: Hoare triple {233456#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {233456#(<= ~counter~0 5)} ~cond := #in~cond; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {233456#(<= ~counter~0 5)} assume !(0 == ~cond); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,369 INFO L290 TraceCheckUtils]: 45: Hoare triple {233456#(<= ~counter~0 5)} assume true; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,369 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {233456#(<= ~counter~0 5)} {233456#(<= ~counter~0 5)} #102#return; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,370 INFO L272 TraceCheckUtils]: 47: Hoare triple {233456#(<= ~counter~0 5)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,370 INFO L290 TraceCheckUtils]: 48: Hoare triple {233456#(<= ~counter~0 5)} ~cond := #in~cond; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,370 INFO L290 TraceCheckUtils]: 49: Hoare triple {233456#(<= ~counter~0 5)} assume !(0 == ~cond); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,370 INFO L290 TraceCheckUtils]: 50: Hoare triple {233456#(<= ~counter~0 5)} assume true; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,371 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {233456#(<= ~counter~0 5)} {233456#(<= ~counter~0 5)} #104#return; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,371 INFO L290 TraceCheckUtils]: 52: Hoare triple {233456#(<= ~counter~0 5)} assume !(~c~0 >= 2 * ~v~0); {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,371 INFO L290 TraceCheckUtils]: 53: Hoare triple {233456#(<= ~counter~0 5)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {233456#(<= ~counter~0 5)} is VALID [2022-04-07 14:00:53,372 INFO L290 TraceCheckUtils]: 54: Hoare triple {233456#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233529#(<= ~counter~0 6)} is VALID [2022-04-07 14:00:53,372 INFO L290 TraceCheckUtils]: 55: Hoare triple {233529#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {233529#(<= ~counter~0 6)} is VALID [2022-04-07 14:00:53,373 INFO L290 TraceCheckUtils]: 56: Hoare triple {233529#(<= ~counter~0 6)} assume !(~c~0 >= ~b~0); {233529#(<= ~counter~0 6)} is VALID [2022-04-07 14:00:53,373 INFO L290 TraceCheckUtils]: 57: Hoare triple {233529#(<= ~counter~0 6)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233529#(<= ~counter~0 6)} is VALID [2022-04-07 14:00:53,374 INFO L290 TraceCheckUtils]: 58: Hoare triple {233529#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233542#(<= ~counter~0 7)} is VALID [2022-04-07 14:00:53,374 INFO L290 TraceCheckUtils]: 59: Hoare triple {233542#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {233542#(<= ~counter~0 7)} is VALID [2022-04-07 14:00:53,374 INFO L290 TraceCheckUtils]: 60: Hoare triple {233542#(<= ~counter~0 7)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233542#(<= ~counter~0 7)} is VALID [2022-04-07 14:00:53,375 INFO L290 TraceCheckUtils]: 61: Hoare triple {233542#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233552#(<= ~counter~0 8)} is VALID [2022-04-07 14:00:53,375 INFO L290 TraceCheckUtils]: 62: Hoare triple {233552#(<= ~counter~0 8)} assume !!(#t~post7 < 100);havoc #t~post7; {233552#(<= ~counter~0 8)} is VALID [2022-04-07 14:00:53,376 INFO L290 TraceCheckUtils]: 63: Hoare triple {233552#(<= ~counter~0 8)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {233552#(<= ~counter~0 8)} is VALID [2022-04-07 14:00:53,376 INFO L290 TraceCheckUtils]: 64: Hoare triple {233552#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,377 INFO L290 TraceCheckUtils]: 65: Hoare triple {233562#(<= ~counter~0 9)} assume !!(#t~post8 < 100);havoc #t~post8; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,377 INFO L272 TraceCheckUtils]: 66: Hoare triple {233562#(<= ~counter~0 9)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,377 INFO L290 TraceCheckUtils]: 67: Hoare triple {233562#(<= ~counter~0 9)} ~cond := #in~cond; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,378 INFO L290 TraceCheckUtils]: 68: Hoare triple {233562#(<= ~counter~0 9)} assume !(0 == ~cond); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,378 INFO L290 TraceCheckUtils]: 69: Hoare triple {233562#(<= ~counter~0 9)} assume true; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,378 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {233562#(<= ~counter~0 9)} {233562#(<= ~counter~0 9)} #98#return; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,379 INFO L272 TraceCheckUtils]: 71: Hoare triple {233562#(<= ~counter~0 9)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,379 INFO L290 TraceCheckUtils]: 72: Hoare triple {233562#(<= ~counter~0 9)} ~cond := #in~cond; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,379 INFO L290 TraceCheckUtils]: 73: Hoare triple {233562#(<= ~counter~0 9)} assume !(0 == ~cond); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,380 INFO L290 TraceCheckUtils]: 74: Hoare triple {233562#(<= ~counter~0 9)} assume true; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,380 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {233562#(<= ~counter~0 9)} {233562#(<= ~counter~0 9)} #100#return; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,381 INFO L272 TraceCheckUtils]: 76: Hoare triple {233562#(<= ~counter~0 9)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,381 INFO L290 TraceCheckUtils]: 77: Hoare triple {233562#(<= ~counter~0 9)} ~cond := #in~cond; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,381 INFO L290 TraceCheckUtils]: 78: Hoare triple {233562#(<= ~counter~0 9)} assume !(0 == ~cond); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,381 INFO L290 TraceCheckUtils]: 79: Hoare triple {233562#(<= ~counter~0 9)} assume true; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,382 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {233562#(<= ~counter~0 9)} {233562#(<= ~counter~0 9)} #102#return; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,382 INFO L272 TraceCheckUtils]: 81: Hoare triple {233562#(<= ~counter~0 9)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,383 INFO L290 TraceCheckUtils]: 82: Hoare triple {233562#(<= ~counter~0 9)} ~cond := #in~cond; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,383 INFO L290 TraceCheckUtils]: 83: Hoare triple {233562#(<= ~counter~0 9)} assume !(0 == ~cond); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,383 INFO L290 TraceCheckUtils]: 84: Hoare triple {233562#(<= ~counter~0 9)} assume true; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,383 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {233562#(<= ~counter~0 9)} {233562#(<= ~counter~0 9)} #104#return; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,384 INFO L290 TraceCheckUtils]: 86: Hoare triple {233562#(<= ~counter~0 9)} assume !(~c~0 >= 2 * ~v~0); {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,384 INFO L290 TraceCheckUtils]: 87: Hoare triple {233562#(<= ~counter~0 9)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {233562#(<= ~counter~0 9)} is VALID [2022-04-07 14:00:53,385 INFO L290 TraceCheckUtils]: 88: Hoare triple {233562#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233635#(<= ~counter~0 10)} is VALID [2022-04-07 14:00:53,385 INFO L290 TraceCheckUtils]: 89: Hoare triple {233635#(<= ~counter~0 10)} assume !!(#t~post7 < 100);havoc #t~post7; {233635#(<= ~counter~0 10)} is VALID [2022-04-07 14:00:53,385 INFO L290 TraceCheckUtils]: 90: Hoare triple {233635#(<= ~counter~0 10)} assume !(~c~0 >= ~b~0); {233635#(<= ~counter~0 10)} is VALID [2022-04-07 14:00:53,385 INFO L290 TraceCheckUtils]: 91: Hoare triple {233635#(<= ~counter~0 10)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233635#(<= ~counter~0 10)} is VALID [2022-04-07 14:00:53,386 INFO L290 TraceCheckUtils]: 92: Hoare triple {233635#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233648#(<= ~counter~0 11)} is VALID [2022-04-07 14:00:53,387 INFO L290 TraceCheckUtils]: 93: Hoare triple {233648#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {233648#(<= ~counter~0 11)} is VALID [2022-04-07 14:00:53,387 INFO L290 TraceCheckUtils]: 94: Hoare triple {233648#(<= ~counter~0 11)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233648#(<= ~counter~0 11)} is VALID [2022-04-07 14:00:53,388 INFO L290 TraceCheckUtils]: 95: Hoare triple {233648#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233658#(<= ~counter~0 12)} is VALID [2022-04-07 14:00:53,388 INFO L290 TraceCheckUtils]: 96: Hoare triple {233658#(<= ~counter~0 12)} assume !!(#t~post7 < 100);havoc #t~post7; {233658#(<= ~counter~0 12)} is VALID [2022-04-07 14:00:53,388 INFO L290 TraceCheckUtils]: 97: Hoare triple {233658#(<= ~counter~0 12)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {233658#(<= ~counter~0 12)} is VALID [2022-04-07 14:00:53,389 INFO L290 TraceCheckUtils]: 98: Hoare triple {233658#(<= ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,389 INFO L290 TraceCheckUtils]: 99: Hoare triple {233668#(<= ~counter~0 13)} assume !!(#t~post8 < 100);havoc #t~post8; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,390 INFO L272 TraceCheckUtils]: 100: Hoare triple {233668#(<= ~counter~0 13)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,390 INFO L290 TraceCheckUtils]: 101: Hoare triple {233668#(<= ~counter~0 13)} ~cond := #in~cond; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,390 INFO L290 TraceCheckUtils]: 102: Hoare triple {233668#(<= ~counter~0 13)} assume !(0 == ~cond); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,390 INFO L290 TraceCheckUtils]: 103: Hoare triple {233668#(<= ~counter~0 13)} assume true; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,391 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {233668#(<= ~counter~0 13)} {233668#(<= ~counter~0 13)} #98#return; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,391 INFO L272 TraceCheckUtils]: 105: Hoare triple {233668#(<= ~counter~0 13)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,392 INFO L290 TraceCheckUtils]: 106: Hoare triple {233668#(<= ~counter~0 13)} ~cond := #in~cond; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,392 INFO L290 TraceCheckUtils]: 107: Hoare triple {233668#(<= ~counter~0 13)} assume !(0 == ~cond); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,392 INFO L290 TraceCheckUtils]: 108: Hoare triple {233668#(<= ~counter~0 13)} assume true; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,393 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {233668#(<= ~counter~0 13)} {233668#(<= ~counter~0 13)} #100#return; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,393 INFO L272 TraceCheckUtils]: 110: Hoare triple {233668#(<= ~counter~0 13)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,393 INFO L290 TraceCheckUtils]: 111: Hoare triple {233668#(<= ~counter~0 13)} ~cond := #in~cond; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,394 INFO L290 TraceCheckUtils]: 112: Hoare triple {233668#(<= ~counter~0 13)} assume !(0 == ~cond); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,394 INFO L290 TraceCheckUtils]: 113: Hoare triple {233668#(<= ~counter~0 13)} assume true; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,394 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {233668#(<= ~counter~0 13)} {233668#(<= ~counter~0 13)} #102#return; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,395 INFO L272 TraceCheckUtils]: 115: Hoare triple {233668#(<= ~counter~0 13)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,395 INFO L290 TraceCheckUtils]: 116: Hoare triple {233668#(<= ~counter~0 13)} ~cond := #in~cond; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,395 INFO L290 TraceCheckUtils]: 117: Hoare triple {233668#(<= ~counter~0 13)} assume !(0 == ~cond); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,396 INFO L290 TraceCheckUtils]: 118: Hoare triple {233668#(<= ~counter~0 13)} assume true; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,396 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {233668#(<= ~counter~0 13)} {233668#(<= ~counter~0 13)} #104#return; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,396 INFO L290 TraceCheckUtils]: 120: Hoare triple {233668#(<= ~counter~0 13)} assume !(~c~0 >= 2 * ~v~0); {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,397 INFO L290 TraceCheckUtils]: 121: Hoare triple {233668#(<= ~counter~0 13)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {233668#(<= ~counter~0 13)} is VALID [2022-04-07 14:00:53,397 INFO L290 TraceCheckUtils]: 122: Hoare triple {233668#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233741#(<= ~counter~0 14)} is VALID [2022-04-07 14:00:53,398 INFO L290 TraceCheckUtils]: 123: Hoare triple {233741#(<= ~counter~0 14)} assume !!(#t~post7 < 100);havoc #t~post7; {233741#(<= ~counter~0 14)} is VALID [2022-04-07 14:00:53,398 INFO L290 TraceCheckUtils]: 124: Hoare triple {233741#(<= ~counter~0 14)} assume !(~c~0 >= ~b~0); {233741#(<= ~counter~0 14)} is VALID [2022-04-07 14:00:53,398 INFO L290 TraceCheckUtils]: 125: Hoare triple {233741#(<= ~counter~0 14)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233741#(<= ~counter~0 14)} is VALID [2022-04-07 14:00:53,398 INFO L290 TraceCheckUtils]: 126: Hoare triple {233741#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233754#(<= |main_#t~post6| 14)} is VALID [2022-04-07 14:00:53,399 INFO L290 TraceCheckUtils]: 127: Hoare triple {233754#(<= |main_#t~post6| 14)} assume !(#t~post6 < 100);havoc #t~post6; {233357#false} is VALID [2022-04-07 14:00:53,399 INFO L272 TraceCheckUtils]: 128: Hoare triple {233357#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {233357#false} is VALID [2022-04-07 14:00:53,399 INFO L290 TraceCheckUtils]: 129: Hoare triple {233357#false} ~cond := #in~cond; {233357#false} is VALID [2022-04-07 14:00:53,399 INFO L290 TraceCheckUtils]: 130: Hoare triple {233357#false} assume 0 == ~cond; {233357#false} is VALID [2022-04-07 14:00:53,399 INFO L290 TraceCheckUtils]: 131: Hoare triple {233357#false} assume !false; {233357#false} is VALID [2022-04-07 14:00:53,399 INFO L134 CoverageAnalysis]: Checked inductivity of 411 backedges. 24 proven. 311 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-07 14:00:53,399 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:00:54,276 INFO L290 TraceCheckUtils]: 131: Hoare triple {233357#false} assume !false; {233357#false} is VALID [2022-04-07 14:00:54,277 INFO L290 TraceCheckUtils]: 130: Hoare triple {233357#false} assume 0 == ~cond; {233357#false} is VALID [2022-04-07 14:00:54,277 INFO L290 TraceCheckUtils]: 129: Hoare triple {233357#false} ~cond := #in~cond; {233357#false} is VALID [2022-04-07 14:00:54,277 INFO L272 TraceCheckUtils]: 128: Hoare triple {233357#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {233357#false} is VALID [2022-04-07 14:00:54,277 INFO L290 TraceCheckUtils]: 127: Hoare triple {233782#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {233357#false} is VALID [2022-04-07 14:00:54,277 INFO L290 TraceCheckUtils]: 126: Hoare triple {233786#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233782#(< |main_#t~post6| 100)} is VALID [2022-04-07 14:00:54,278 INFO L290 TraceCheckUtils]: 125: Hoare triple {233786#(< ~counter~0 100)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233786#(< ~counter~0 100)} is VALID [2022-04-07 14:00:54,278 INFO L290 TraceCheckUtils]: 124: Hoare triple {233786#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {233786#(< ~counter~0 100)} is VALID [2022-04-07 14:00:54,278 INFO L290 TraceCheckUtils]: 123: Hoare triple {233786#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {233786#(< ~counter~0 100)} is VALID [2022-04-07 14:00:54,280 INFO L290 TraceCheckUtils]: 122: Hoare triple {233799#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233786#(< ~counter~0 100)} is VALID [2022-04-07 14:00:54,280 INFO L290 TraceCheckUtils]: 121: Hoare triple {233799#(< ~counter~0 99)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,280 INFO L290 TraceCheckUtils]: 120: Hoare triple {233799#(< ~counter~0 99)} assume !(~c~0 >= 2 * ~v~0); {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,281 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {233356#true} {233799#(< ~counter~0 99)} #104#return; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,281 INFO L290 TraceCheckUtils]: 118: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,281 INFO L290 TraceCheckUtils]: 117: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,281 INFO L290 TraceCheckUtils]: 116: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,281 INFO L272 TraceCheckUtils]: 115: Hoare triple {233799#(< ~counter~0 99)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {233356#true} {233799#(< ~counter~0 99)} #102#return; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 113: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 112: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 111: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L272 TraceCheckUtils]: 110: Hoare triple {233799#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {233356#true} {233799#(< ~counter~0 99)} #100#return; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 108: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 107: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,282 INFO L290 TraceCheckUtils]: 106: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L272 TraceCheckUtils]: 105: Hoare triple {233799#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {233356#true} {233799#(< ~counter~0 99)} #98#return; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,283 INFO L290 TraceCheckUtils]: 103: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L290 TraceCheckUtils]: 102: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L290 TraceCheckUtils]: 101: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L272 TraceCheckUtils]: 100: Hoare triple {233799#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,283 INFO L290 TraceCheckUtils]: 99: Hoare triple {233799#(< ~counter~0 99)} assume !!(#t~post8 < 100);havoc #t~post8; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,284 INFO L290 TraceCheckUtils]: 98: Hoare triple {233872#(< ~counter~0 98)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {233799#(< ~counter~0 99)} is VALID [2022-04-07 14:00:54,285 INFO L290 TraceCheckUtils]: 97: Hoare triple {233872#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {233872#(< ~counter~0 98)} is VALID [2022-04-07 14:00:54,285 INFO L290 TraceCheckUtils]: 96: Hoare triple {233872#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {233872#(< ~counter~0 98)} is VALID [2022-04-07 14:00:54,286 INFO L290 TraceCheckUtils]: 95: Hoare triple {233882#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233872#(< ~counter~0 98)} is VALID [2022-04-07 14:00:54,286 INFO L290 TraceCheckUtils]: 94: Hoare triple {233882#(< ~counter~0 97)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233882#(< ~counter~0 97)} is VALID [2022-04-07 14:00:54,286 INFO L290 TraceCheckUtils]: 93: Hoare triple {233882#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {233882#(< ~counter~0 97)} is VALID [2022-04-07 14:00:54,287 INFO L290 TraceCheckUtils]: 92: Hoare triple {233892#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233882#(< ~counter~0 97)} is VALID [2022-04-07 14:00:54,287 INFO L290 TraceCheckUtils]: 91: Hoare triple {233892#(< ~counter~0 96)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233892#(< ~counter~0 96)} is VALID [2022-04-07 14:00:54,287 INFO L290 TraceCheckUtils]: 90: Hoare triple {233892#(< ~counter~0 96)} assume !(~c~0 >= ~b~0); {233892#(< ~counter~0 96)} is VALID [2022-04-07 14:00:54,288 INFO L290 TraceCheckUtils]: 89: Hoare triple {233892#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {233892#(< ~counter~0 96)} is VALID [2022-04-07 14:00:54,288 INFO L290 TraceCheckUtils]: 88: Hoare triple {233905#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233892#(< ~counter~0 96)} is VALID [2022-04-07 14:00:54,289 INFO L290 TraceCheckUtils]: 87: Hoare triple {233905#(< ~counter~0 95)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,289 INFO L290 TraceCheckUtils]: 86: Hoare triple {233905#(< ~counter~0 95)} assume !(~c~0 >= 2 * ~v~0); {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,290 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {233356#true} {233905#(< ~counter~0 95)} #104#return; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,290 INFO L290 TraceCheckUtils]: 84: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,290 INFO L290 TraceCheckUtils]: 83: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L290 TraceCheckUtils]: 82: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L272 TraceCheckUtils]: 81: Hoare triple {233905#(< ~counter~0 95)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {233356#true} {233905#(< ~counter~0 95)} #102#return; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,291 INFO L290 TraceCheckUtils]: 79: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L290 TraceCheckUtils]: 78: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L290 TraceCheckUtils]: 77: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,291 INFO L272 TraceCheckUtils]: 76: Hoare triple {233905#(< ~counter~0 95)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,292 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {233356#true} {233905#(< ~counter~0 95)} #100#return; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,292 INFO L290 TraceCheckUtils]: 74: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,292 INFO L290 TraceCheckUtils]: 73: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,292 INFO L290 TraceCheckUtils]: 72: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,292 INFO L272 TraceCheckUtils]: 71: Hoare triple {233905#(< ~counter~0 95)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,293 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {233356#true} {233905#(< ~counter~0 95)} #98#return; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,293 INFO L290 TraceCheckUtils]: 68: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,293 INFO L290 TraceCheckUtils]: 67: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,293 INFO L272 TraceCheckUtils]: 66: Hoare triple {233905#(< ~counter~0 95)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,293 INFO L290 TraceCheckUtils]: 65: Hoare triple {233905#(< ~counter~0 95)} assume !!(#t~post8 < 100);havoc #t~post8; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,294 INFO L290 TraceCheckUtils]: 64: Hoare triple {233978#(< ~counter~0 94)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {233905#(< ~counter~0 95)} is VALID [2022-04-07 14:00:54,294 INFO L290 TraceCheckUtils]: 63: Hoare triple {233978#(< ~counter~0 94)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {233978#(< ~counter~0 94)} is VALID [2022-04-07 14:00:54,294 INFO L290 TraceCheckUtils]: 62: Hoare triple {233978#(< ~counter~0 94)} assume !!(#t~post7 < 100);havoc #t~post7; {233978#(< ~counter~0 94)} is VALID [2022-04-07 14:00:54,295 INFO L290 TraceCheckUtils]: 61: Hoare triple {233988#(< ~counter~0 93)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233978#(< ~counter~0 94)} is VALID [2022-04-07 14:00:54,295 INFO L290 TraceCheckUtils]: 60: Hoare triple {233988#(< ~counter~0 93)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {233988#(< ~counter~0 93)} is VALID [2022-04-07 14:00:54,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {233988#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {233988#(< ~counter~0 93)} is VALID [2022-04-07 14:00:54,296 INFO L290 TraceCheckUtils]: 58: Hoare triple {233998#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {233988#(< ~counter~0 93)} is VALID [2022-04-07 14:00:54,297 INFO L290 TraceCheckUtils]: 57: Hoare triple {233998#(< ~counter~0 92)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {233998#(< ~counter~0 92)} is VALID [2022-04-07 14:00:54,297 INFO L290 TraceCheckUtils]: 56: Hoare triple {233998#(< ~counter~0 92)} assume !(~c~0 >= ~b~0); {233998#(< ~counter~0 92)} is VALID [2022-04-07 14:00:54,297 INFO L290 TraceCheckUtils]: 55: Hoare triple {233998#(< ~counter~0 92)} assume !!(#t~post7 < 100);havoc #t~post7; {233998#(< ~counter~0 92)} is VALID [2022-04-07 14:00:54,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {234011#(< ~counter~0 91)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {233998#(< ~counter~0 92)} is VALID [2022-04-07 14:00:54,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {234011#(< ~counter~0 91)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,298 INFO L290 TraceCheckUtils]: 52: Hoare triple {234011#(< ~counter~0 91)} assume !(~c~0 >= 2 * ~v~0); {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,299 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {233356#true} {234011#(< ~counter~0 91)} #104#return; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,299 INFO L290 TraceCheckUtils]: 50: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,299 INFO L272 TraceCheckUtils]: 47: Hoare triple {234011#(< ~counter~0 91)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {233356#true} {234011#(< ~counter~0 91)} #102#return; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,300 INFO L290 TraceCheckUtils]: 45: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L272 TraceCheckUtils]: 42: Hoare triple {234011#(< ~counter~0 91)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {233356#true} {234011#(< ~counter~0 91)} #100#return; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L272 TraceCheckUtils]: 37: Hoare triple {234011#(< ~counter~0 91)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {233356#true} {234011#(< ~counter~0 91)} #98#return; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,301 INFO L272 TraceCheckUtils]: 32: Hoare triple {234011#(< ~counter~0 91)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {234011#(< ~counter~0 91)} assume !!(#t~post8 < 100);havoc #t~post8; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {234084#(< ~counter~0 90)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {234011#(< ~counter~0 91)} is VALID [2022-04-07 14:00:54,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {234084#(< ~counter~0 90)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {234084#(< ~counter~0 90)} is VALID [2022-04-07 14:00:54,306 INFO L290 TraceCheckUtils]: 28: Hoare triple {234084#(< ~counter~0 90)} assume !!(#t~post7 < 100);havoc #t~post7; {234084#(< ~counter~0 90)} is VALID [2022-04-07 14:00:54,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {234094#(< ~counter~0 89)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {234084#(< ~counter~0 90)} is VALID [2022-04-07 14:00:54,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {234094#(< ~counter~0 89)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {234094#(< ~counter~0 89)} is VALID [2022-04-07 14:00:54,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {234094#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {234094#(< ~counter~0 89)} is VALID [2022-04-07 14:00:54,308 INFO L290 TraceCheckUtils]: 24: Hoare triple {234104#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {234094#(< ~counter~0 89)} is VALID [2022-04-07 14:00:54,308 INFO L290 TraceCheckUtils]: 23: Hoare triple {234104#(< ~counter~0 88)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {234104#(< ~counter~0 88)} is VALID [2022-04-07 14:00:54,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {234104#(< ~counter~0 88)} assume !(~c~0 >= ~b~0); {234104#(< ~counter~0 88)} is VALID [2022-04-07 14:00:54,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {234104#(< ~counter~0 88)} assume !!(#t~post7 < 100);havoc #t~post7; {234104#(< ~counter~0 88)} is VALID [2022-04-07 14:00:54,310 INFO L290 TraceCheckUtils]: 20: Hoare triple {234117#(< ~counter~0 87)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {234104#(< ~counter~0 88)} is VALID [2022-04-07 14:00:54,310 INFO L290 TraceCheckUtils]: 19: Hoare triple {234117#(< ~counter~0 87)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {234117#(< ~counter~0 87)} is VALID [2022-04-07 14:00:54,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {234117#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {234117#(< ~counter~0 87)} is VALID [2022-04-07 14:00:54,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {234127#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {234117#(< ~counter~0 87)} is VALID [2022-04-07 14:00:54,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {234127#(< ~counter~0 86)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,312 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {233356#true} {234127#(< ~counter~0 86)} #96#return; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 13: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 12: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L272 TraceCheckUtils]: 11: Hoare triple {234127#(< ~counter~0 86)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {233356#true} {234127#(< ~counter~0 86)} #94#return; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {233356#true} assume true; {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {233356#true} assume !(0 == ~cond); {233356#true} is VALID [2022-04-07 14:00:54,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {233356#true} ~cond := #in~cond; {233356#true} is VALID [2022-04-07 14:00:54,314 INFO L272 TraceCheckUtils]: 6: Hoare triple {234127#(< ~counter~0 86)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {233356#true} is VALID [2022-04-07 14:00:54,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {234127#(< ~counter~0 86)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {234127#(< ~counter~0 86)} call #t~ret9 := main(); {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {234127#(< ~counter~0 86)} {233356#true} #108#return; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {234127#(< ~counter~0 86)} assume true; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {233356#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(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {234127#(< ~counter~0 86)} is VALID [2022-04-07 14:00:54,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {233356#true} call ULTIMATE.init(); {233356#true} is VALID [2022-04-07 14:00:54,316 INFO L134 CoverageAnalysis]: Checked inductivity of 411 backedges. 24 proven. 119 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-07 14:00:54,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:00:54,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [940115408] [2022-04-07 14:00:54,316 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:00:54,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1346474243] [2022-04-07 14:00:54,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1346474243] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:00:54,317 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:00:54,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 34 [2022-04-07 14:00:54,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [921095281] [2022-04-07 14:00:54,317 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:00:54,318 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) Word has length 132 [2022-04-07 14:00:54,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:00:54,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) [2022-04-07 14:00:54,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:00:54,509 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-07 14:00:54,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:00:54,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-07 14:00:54,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=501, Invalid=621, Unknown=0, NotChecked=0, Total=1122 [2022-04-07 14:00:54,510 INFO L87 Difference]: Start difference. First operand 6955 states and 9656 transitions. Second operand has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) [2022-04-07 14:01:40,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:40,793 INFO L93 Difference]: Finished difference Result 12796 states and 18516 transitions. [2022-04-07 14:01:40,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 60 states. [2022-04-07 14:01:40,794 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) Word has length 132 [2022-04-07 14:01:40,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:40,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) [2022-04-07 14:01:40,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 809 transitions. [2022-04-07 14:01:40,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 3.8529411764705883) internal successors, (131), 34 states have internal predecessors, (131), 10 states have call successors, (32), 7 states have call predecessors, (32), 6 states have return successors, (30), 8 states have call predecessors, (30), 9 states have call successors, (30) [2022-04-07 14:01:40,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 809 transitions. [2022-04-07 14:01:40,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 809 transitions. [2022-04-07 14:01:41,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 809 edges. 809 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:01:49,411 INFO L225 Difference]: With dead ends: 12796 [2022-04-07 14:01:49,411 INFO L226 Difference]: Without dead ends: 12791 [2022-04-07 14:01:49,414 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 290 GetRequests, 231 SyntacticMatches, 0 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 545 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=1327, Invalid=2333, Unknown=0, NotChecked=0, Total=3660 [2022-04-07 14:01:49,415 INFO L913 BasicCegarLoop]: 149 mSDtfsCounter, 1229 mSDsluCounter, 633 mSDsCounter, 0 mSdLazyCounter, 613 mSolverCounterSat, 761 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1229 SdHoareTripleChecker+Valid, 782 SdHoareTripleChecker+Invalid, 1374 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 761 IncrementalHoareTripleChecker+Valid, 613 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-07 14:01:49,415 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1229 Valid, 782 Invalid, 1374 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [761 Valid, 613 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-07 14:01:49,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 12791 states.