/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 14:24:31,913 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 14:24:31,914 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 14:24:31,944 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 14:24:31,944 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 14:24:31,945 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 14:24:31,946 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 14:24:31,947 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 14:24:31,948 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 14:24:31,948 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 14:24:31,949 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 14:24:31,949 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 14:24:31,950 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 14:24:31,950 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 14:24:31,951 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 14:24:31,952 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 14:24:31,953 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 14:24:31,955 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 14:24:31,959 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 14:24:31,960 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 14:24:31,961 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 14:24:31,963 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 14:24:31,964 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 14:24:31,966 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 14:24:31,967 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 14:24:31,970 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 14:24:31,970 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 14:24:31,970 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 14:24:31,971 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 14:24:31,971 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 14:24:31,971 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 14:24:31,972 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 14:24:31,972 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 14:24:31,972 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 14:24:31,973 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 14:24:31,973 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 14:24:31,973 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 14:24:31,974 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 14:24:31,974 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 14:24:31,974 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 14:24:31,974 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 14:24:31,975 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 14:24:31,975 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 14:24:31,991 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 14:24:31,991 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 14:24:31,991 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 14:24:31,991 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 14:24:31,992 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 14:24:31,992 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 14:24:31,992 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 14:24:31,992 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 14:24:31,992 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 14:24:31,992 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 14:24:31,993 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 14:24:31,994 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:24:31,994 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 14:24:31,994 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 14:24:31,995 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 14:24:32,156 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 14:24:32,170 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 14:24:32,172 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 14:24:32,172 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 14:24:32,173 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 14:24:32,173 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c [2022-04-27 14:24:32,224 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef8933f2/affffd435d0043e1ad93a8f4eaf9edf5/FLAGee1e556ef [2022-04-27 14:24:32,597 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 14:24:32,597 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c [2022-04-27 14:24:32,602 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef8933f2/affffd435d0043e1ad93a8f4eaf9edf5/FLAGee1e556ef [2022-04-27 14:24:32,615 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef8933f2/affffd435d0043e1ad93a8f4eaf9edf5 [2022-04-27 14:24:32,617 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 14:24:32,618 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 14:24:32,619 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 14:24:32,619 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 14:24:32,621 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 14:24:32,623 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,624 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2a22a3c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32, skipping insertion in model container [2022-04-27 14:24:32,624 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,629 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 14:24:32,638 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 14:24:32,777 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c[524,537] [2022-04-27 14:24:32,790 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:24:32,795 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 14:24:32,802 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c[524,537] [2022-04-27 14:24:32,807 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:24:32,815 INFO L208 MainTranslator]: Completed translation [2022-04-27 14:24:32,815 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32 WrapperNode [2022-04-27 14:24:32,815 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 14:24:32,816 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 14:24:32,816 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 14:24:32,816 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 14:24:32,823 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,823 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,827 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,827 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,831 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,834 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,835 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,836 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 14:24:32,836 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 14:24:32,836 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 14:24:32,836 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 14:24:32,840 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (1/1) ... [2022-04-27 14:24:32,845 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:24:32,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:24:32,879 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 14:24:32,903 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 14:24:32,906 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 14:24:32,907 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 14:24:32,907 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 14:24:32,907 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 14:24:32,908 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 14:24:32,908 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 14:24:32,908 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 14:24:32,909 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 14:24:32,954 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 14:24:32,955 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 14:24:33,164 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 14:24:33,169 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 14:24:33,169 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 14:24:33,170 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:24:33 BoogieIcfgContainer [2022-04-27 14:24:33,170 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 14:24:33,171 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 14:24:33,171 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 14:24:33,174 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 14:24:33,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 02:24:32" (1/3) ... [2022-04-27 14:24:33,175 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec7fb0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:24:33, skipping insertion in model container [2022-04-27 14:24:33,175 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:24:32" (2/3) ... [2022-04-27 14:24:33,175 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec7fb0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:24:33, skipping insertion in model container [2022-04-27 14:24:33,175 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:24:33" (3/3) ... [2022-04-27 14:24:33,176 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound50.c [2022-04-27 14:24:33,184 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 14:24:33,184 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 14:24:33,210 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 14:24:33,214 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@478c5c81, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5f1367fd [2022-04-27 14:24:33,215 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 14:24:33,219 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:24:33,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 14:24:33,223 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:24:33,223 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:24:33,224 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:24:33,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:24:33,228 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 1 times [2022-04-27 14:24:33,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:24:33,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [196505111] [2022-04-27 14:24:33,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:33,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:24:33,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:33,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 14:24:33,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:33,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-27 14:24:33,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:24:33,346 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-27 14:24:33,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 14:24:33,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:33,352 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:24:33,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:24:33,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:24:33,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-27 14:24:33,353 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 14:24:33,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-27 14:24:33,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:24:33,354 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-27 14:24:33,354 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-27 14:24:33,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35#true} is VALID [2022-04-27 14:24:33,354 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-27 14:24:33,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:24:33,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:24:33,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:24:33,355 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-27 14:24:33,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {36#false} is VALID [2022-04-27 14:24:33,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-27 14:24:33,356 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36#false} is VALID [2022-04-27 14:24:33,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-27 14:24:33,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-27 14:24:33,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-27 14:24:33,356 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:24:33,357 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:24:33,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [196505111] [2022-04-27 14:24:33,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [196505111] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:24:33,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:24:33,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 14:24:33,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364919737] [2022-04-27 14:24:33,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:24:33,362 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 14:24:33,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:24:33,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:33,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:33,379 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 14:24:33,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:24:33,391 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 14:24:33,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 14:24:33,393 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:33,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,490 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-27 14:24:33,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 14:24:33,490 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 14:24:33,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:24:33,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:33,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:24:33,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:33,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:24:33,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-27 14:24:33,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:33,576 INFO L225 Difference]: With dead ends: 56 [2022-04-27 14:24:33,577 INFO L226 Difference]: Without dead ends: 28 [2022-04-27 14:24:33,579 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 14:24:33,583 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:24:33,584 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:24:33,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-27 14:24:33,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-27 14:24:33,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:24:33,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,616 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,616 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,619 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-27 14:24:33,619 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-27 14:24:33,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:33,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:33,620 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-27 14:24:33,620 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-27 14:24:33,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,623 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-27 14:24:33,623 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-27 14:24:33,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:33,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:33,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:24:33,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:24:33,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-27 14:24:33,626 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-27 14:24:33,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:24:33,627 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-27 14:24:33,627 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:33,627 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-27 14:24:33,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 14:24:33,628 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:24:33,628 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:24:33,628 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 14:24:33,628 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:24:33,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:24:33,629 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 1 times [2022-04-27 14:24:33,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:24:33,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944426736] [2022-04-27 14:24:33,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:33,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:24:33,643 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:24:33,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [199640311] [2022-04-27 14:24:33,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:33,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:24:33,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:24:33,645 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:24:33,654 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 14:24:33,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:33,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 14:24:33,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:33,717 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:24:33,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {214#true} call ULTIMATE.init(); {214#true} is VALID [2022-04-27 14:24:33,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {214#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {222#(<= ~counter~0 0)} {214#true} #77#return; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {222#(<= ~counter~0 0)} call #t~ret7 := main(); {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,840 INFO L290 TraceCheckUtils]: 5: Hoare triple {222#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {222#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {222#(<= ~counter~0 0)} ~cond := #in~cond; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {222#(<= ~counter~0 0)} assume !(0 == ~cond); {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {222#(<= ~counter~0 0)} {222#(<= ~counter~0 0)} #69#return; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {222#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {222#(<= ~counter~0 0)} is VALID [2022-04-27 14:24:33,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {222#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {256#(<= |main_#t~post6| 0)} is VALID [2022-04-27 14:24:33,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {256#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {215#false} is VALID [2022-04-27 14:24:33,850 INFO L272 TraceCheckUtils]: 14: Hoare triple {215#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {215#false} is VALID [2022-04-27 14:24:33,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {215#false} ~cond := #in~cond; {215#false} is VALID [2022-04-27 14:24:33,850 INFO L290 TraceCheckUtils]: 16: Hoare triple {215#false} assume 0 == ~cond; {215#false} is VALID [2022-04-27 14:24:33,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {215#false} assume !false; {215#false} is VALID [2022-04-27 14:24:33,850 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:24:33,850 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:24:33,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:24:33,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [944426736] [2022-04-27 14:24:33,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:24:33,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [199640311] [2022-04-27 14:24:33,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [199640311] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:24:33,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:24:33,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 14:24:33,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [813396054] [2022-04-27 14:24:33,856 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:24:33,856 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-27 14:24:33,857 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:24:33,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 14:24:33,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:33,871 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 14:24:33,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:24:33,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 14:24:33,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 14:24:33,873 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 14:24:33,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,936 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-27 14:24:33,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 14:24:33,936 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-27 14:24:33,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:24:33,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 14:24:33,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 14:24:33,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 14:24:33,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 14:24:33,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-27 14:24:33,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:33,977 INFO L225 Difference]: With dead ends: 37 [2022-04-27 14:24:33,977 INFO L226 Difference]: Without dead ends: 29 [2022-04-27 14:24:33,977 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 14:24:33,978 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:24:33,978 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:24:33,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-27 14:24:33,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-27 14:24:33,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:24:33,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,986 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,986 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,988 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-27 14:24:33,988 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 14:24:33,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:33,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:33,988 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-27 14:24:33,989 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-27 14:24:33,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:33,990 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-27 14:24:33,990 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 14:24:33,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:33,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:33,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:24:33,991 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:24:33,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 14:24:33,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-27 14:24:33,992 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-27 14:24:33,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:24:33,992 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-27 14:24:33,993 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 14:24:33,993 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 14:24:33,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 14:24:33,993 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:24:33,993 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:24:34,012 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-27 14:24:34,205 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:24:34,206 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:24:34,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:24:34,206 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 1 times [2022-04-27 14:24:34,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:24:34,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1083296028] [2022-04-27 14:24:34,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:34,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:24:34,220 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:24:34,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1487412628] [2022-04-27 14:24:34,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:34,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:24:34,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:24:34,225 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:24:34,227 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 14:24:34,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:34,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 14:24:34,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:34,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:24:34,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {422#true} call ULTIMATE.init(); {422#true} is VALID [2022-04-27 14:24:34,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {422#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {422#true} is VALID [2022-04-27 14:24:34,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-27 14:24:34,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {422#true} {422#true} #77#return; {422#true} is VALID [2022-04-27 14:24:34,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {422#true} call #t~ret7 := main(); {422#true} is VALID [2022-04-27 14:24:34,404 INFO L290 TraceCheckUtils]: 5: Hoare triple {422#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {422#true} is VALID [2022-04-27 14:24:34,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {422#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {422#true} is VALID [2022-04-27 14:24:34,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {422#true} ~cond := #in~cond; {422#true} is VALID [2022-04-27 14:24:34,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {422#true} assume !(0 == ~cond); {422#true} is VALID [2022-04-27 14:24:34,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-27 14:24:34,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {422#true} {422#true} #69#return; {422#true} is VALID [2022-04-27 14:24:34,405 INFO L290 TraceCheckUtils]: 11: Hoare triple {422#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:24:34,406 INFO L290 TraceCheckUtils]: 12: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:24:34,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:24:34,407 INFO L272 TraceCheckUtils]: 14: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {470#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:24:34,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {470#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {474#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:24:34,408 INFO L290 TraceCheckUtils]: 16: Hoare triple {474#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {423#false} is VALID [2022-04-27 14:24:34,408 INFO L290 TraceCheckUtils]: 17: Hoare triple {423#false} assume !false; {423#false} is VALID [2022-04-27 14:24:34,408 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:24:34,408 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:24:34,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:24:34,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1083296028] [2022-04-27 14:24:34,408 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:24:34,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1487412628] [2022-04-27 14:24:34,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1487412628] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:24:34,409 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:24:34,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 14:24:34,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112106416] [2022-04-27 14:24:34,409 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:24:34,409 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 14:24:34,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:24:34,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:34,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:34,422 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 14:24:34,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:24:34,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 14:24:34,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 14:24:34,422 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:34,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:34,574 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-27 14:24:34,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 14:24:34,574 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 14:24:34,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:24:34,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:34,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 14:24:34,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:34,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 14:24:34,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 14:24:34,613 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:24:34,614 INFO L225 Difference]: With dead ends: 42 [2022-04-27 14:24:34,614 INFO L226 Difference]: Without dead ends: 40 [2022-04-27 14:24:34,614 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 14:24:34,615 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:24:34,615 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:24:34,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-27 14:24:34,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-27 14:24:34,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:24:34,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:24:34,625 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:24:34,625 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:24:34,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:34,627 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-27 14:24:34,627 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-27 14:24:34,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:34,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:34,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-27 14:24:34,628 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-27 14:24:34,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:24:34,629 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-27 14:24:34,629 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-27 14:24:34,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:24:34,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:24:34,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:24:34,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:24:34,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:24:34,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-27 14:24:34,631 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-27 14:24:34,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:24:34,631 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-27 14:24:34,632 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 14:24:34,632 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-27 14:24:34,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-27 14:24:34,632 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:24:34,632 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:24:34,650 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 14:24:34,848 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-27 14:24:34,848 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:24:34,849 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:24:34,849 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 1 times [2022-04-27 14:24:34,849 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:24:34,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553855903] [2022-04-27 14:24:34,849 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:34,849 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:24:34,859 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:24:34,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790184628] [2022-04-27 14:24:34,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:24:34,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:24:34,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:24:34,860 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:24:34,861 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 14:24:34,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:34,891 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 14:24:34,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:24:34,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:24:43,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-27 14:24:43,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {668#true} is VALID [2022-04-27 14:24:43,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-27 14:24:43,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-27 14:24:43,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-27 14:24:43,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {668#true} is VALID [2022-04-27 14:24:43,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-27 14:24:43,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:24:43,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:24:43,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:24:43,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #69#return; {705#(<= 1 main_~y~0)} is VALID [2022-04-27 14:24:43,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 14:24:43,370 INFO L290 TraceCheckUtils]: 12: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 14:24:43,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 14:24:43,371 INFO L272 TraceCheckUtils]: 14: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {668#true} is VALID [2022-04-27 14:24:43,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} ~cond := #in~cond; {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:24:43,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:24:43,372 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:24:45,374 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #71#return; {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-27 14:24:45,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-27 14:24:45,378 INFO L272 TraceCheckUtils]: 20: Hoare triple {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:24:45,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:24:45,378 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-27 14:24:45,379 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-27 14:24:45,379 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:24:45,379 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:25:22,067 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-27 14:25:22,067 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-27 14:25:22,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:25:22,068 INFO L272 TraceCheckUtils]: 20: Hoare triple {761#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:25:22,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {761#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-27 14:25:22,071 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {668#true} #71#return; {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-27 14:25:22,071 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:25:22,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} ~cond := #in~cond; {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:25:22,072 INFO L272 TraceCheckUtils]: 14: Hoare triple {668#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {668#true} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} assume !!(#t~post6 < 50);havoc #t~post6; {668#true} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {668#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {668#true} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {668#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {668#true} is VALID [2022-04-27 14:25:22,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {668#true} {668#true} #69#return; {668#true} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-27 14:25:22,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-27 14:25:22,073 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-27 14:25:22,073 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-27 14:25:22,073 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {668#true} is VALID [2022-04-27 14:25:22,073 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-27 14:25:22,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-27 14:25:22,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-27 14:25:22,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {668#true} is VALID [2022-04-27 14:25:22,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-27 14:25:22,073 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:25:22,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:25:22,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [553855903] [2022-04-27 14:25:22,074 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:25:22,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790184628] [2022-04-27 14:25:22,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790184628] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:25:22,074 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:25:22,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-27 14:25:22,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [398017296] [2022-04-27 14:25:22,074 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:25:22,075 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-27 14:25:22,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:25:22,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:25:24,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 14:25:24,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 14:25:24,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:25:24,107 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 14:25:24,107 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-27 14:25:24,107 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:25:28,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:28,234 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2022-04-27 14:25:28,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 14:25:28,234 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-27 14:25:28,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:25:28,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:25:28,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-27 14:25:28,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:25:28,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-27 14:25:28,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2022-04-27 14:25:30,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 14:25:30,296 INFO L225 Difference]: With dead ends: 55 [2022-04-27 14:25:30,296 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 14:25:30,297 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-27 14:25:30,297 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 51 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:25:30,298 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 123 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-27 14:25:30,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 14:25:30,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-27 14:25:30,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:25:30,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:25:30,323 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:25:30,323 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:25:30,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:30,325 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-27 14:25:30,325 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-27 14:25:30,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:25:30,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:25:30,326 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-27 14:25:30,326 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-27 14:25:30,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:30,328 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-27 14:25:30,328 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-27 14:25:30,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:25:30,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:25:30,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:25:30,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:25:30,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:25:30,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-27 14:25:30,330 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 24 [2022-04-27 14:25:30,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:25:30,331 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-27 14:25:30,331 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:25:30,331 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-27 14:25:30,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 14:25:30,331 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:25:30,331 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:25:30,349 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 14:25:30,532 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:25:30,532 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:25:30,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:25:30,532 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 1 times [2022-04-27 14:25:30,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:25:30,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [475466428] [2022-04-27 14:25:30,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:25:30,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:25:30,547 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:25:30,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [482200122] [2022-04-27 14:25:30,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:25:30,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:25:30,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:25:30,548 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:25:30,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 14:25:30,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:25:30,582 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 14:25:30,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:25:30,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:25:30,715 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-27 14:25:30,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1085#(<= ~counter~0 0)} {1077#true} #77#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {1085#(<= ~counter~0 0)} call #t~ret7 := main(); {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {1085#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {1085#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {1085#(<= ~counter~0 0)} ~cond := #in~cond; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,720 INFO L290 TraceCheckUtils]: 8: Hoare triple {1085#(<= ~counter~0 0)} assume !(0 == ~cond); {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,720 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1085#(<= ~counter~0 0)} {1085#(<= ~counter~0 0)} #69#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {1085#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1085#(<= ~counter~0 0)} is VALID [2022-04-27 14:25:30,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {1085#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {1119#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,722 INFO L272 TraceCheckUtils]: 14: Hoare triple {1119#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {1119#(<= ~counter~0 1)} ~cond := #in~cond; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {1119#(<= ~counter~0 1)} assume !(0 == ~cond); {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {1119#(<= ~counter~0 1)} assume true; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,724 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1119#(<= ~counter~0 1)} {1119#(<= ~counter~0 1)} #71#return; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,725 INFO L290 TraceCheckUtils]: 19: Hoare triple {1119#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {1119#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1119#(<= ~counter~0 1)} is VALID [2022-04-27 14:25:30,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {1119#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1147#(<= |main_#t~post6| 1)} is VALID [2022-04-27 14:25:30,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {1147#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {1078#false} is VALID [2022-04-27 14:25:30,726 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1078#false} is VALID [2022-04-27 14:25:30,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-27 14:25:30,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-27 14:25:30,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-27 14:25:30,726 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:25:30,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:25:30,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-27 14:25:30,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-27 14:25:30,862 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-27 14:25:30,862 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1078#false} is VALID [2022-04-27 14:25:30,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {1175#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {1078#false} is VALID [2022-04-27 14:25:30,863 INFO L290 TraceCheckUtils]: 21: Hoare triple {1179#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1175#(< |main_#t~post6| 50)} is VALID [2022-04-27 14:25:30,863 INFO L290 TraceCheckUtils]: 20: Hoare triple {1179#(< ~counter~0 50)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1179#(< ~counter~0 50)} is VALID [2022-04-27 14:25:30,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {1179#(< ~counter~0 50)} assume !!(0 != ~a~0 && 0 != ~b~0); {1179#(< ~counter~0 50)} is VALID [2022-04-27 14:25:30,864 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1077#true} {1179#(< ~counter~0 50)} #71#return; {1179#(< ~counter~0 50)} is VALID [2022-04-27 14:25:30,864 INFO L290 TraceCheckUtils]: 17: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-27 14:25:30,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-27 14:25:30,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-27 14:25:30,865 INFO L272 TraceCheckUtils]: 14: Hoare triple {1179#(< ~counter~0 50)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1077#true} is VALID [2022-04-27 14:25:30,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {1179#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {1179#(< ~counter~0 50)} is VALID [2022-04-27 14:25:30,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {1207#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1179#(< ~counter~0 50)} is VALID [2022-04-27 14:25:30,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {1207#(< ~counter~0 49)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1077#true} {1207#(< ~counter~0 49)} #69#return; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-27 14:25:30,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-27 14:25:30,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-27 14:25:30,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {1207#(< ~counter~0 49)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1077#true} is VALID [2022-04-27 14:25:30,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {1207#(< ~counter~0 49)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {1207#(< ~counter~0 49)} call #t~ret7 := main(); {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1207#(< ~counter~0 49)} {1077#true} #77#return; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {1207#(< ~counter~0 49)} assume true; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1207#(< ~counter~0 49)} is VALID [2022-04-27 14:25:30,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-27 14:25:30,869 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:25:30,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:25:30,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [475466428] [2022-04-27 14:25:30,878 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:25:30,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [482200122] [2022-04-27 14:25:30,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [482200122] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:25:30,878 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:25:30,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 14:25:30,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [366995218] [2022-04-27 14:25:30,878 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:25:30,879 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-27 14:25:30,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:25:30,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 14:25:30,909 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-27 14:25:30,910 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 14:25:30,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:25:30,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 14:25:30,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 14:25:30,910 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 14:25:31,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:31,153 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2022-04-27 14:25:31,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 14:25:31,153 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-27 14:25:31,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:25:31,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 14:25:31,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-27 14:25:31,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 14:25:31,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-27 14:25:31,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 106 transitions. [2022-04-27 14:25:31,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:25:31,227 INFO L225 Difference]: With dead ends: 103 [2022-04-27 14:25:31,227 INFO L226 Difference]: Without dead ends: 93 [2022-04-27 14:25:31,228 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 14:25:31,228 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 55 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:25:31,228 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 182 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:25:31,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-27 14:25:31,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-04-27 14:25:31,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:25:31,263 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 14:25:31,264 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 14:25:31,265 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 14:25:31,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:31,270 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-27 14:25:31,270 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-27 14:25:31,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:25:31,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:25:31,273 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-27 14:25:31,273 INFO L87 Difference]: Start difference. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-27 14:25:31,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:25:31,278 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-27 14:25:31,278 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-27 14:25:31,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:25:31,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:25:31,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:25:31,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:25:31,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 14:25:31,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2022-04-27 14:25:31,281 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 27 [2022-04-27 14:25:31,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:25:31,281 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2022-04-27 14:25:31,284 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 14:25:31,284 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2022-04-27 14:25:31,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 14:25:31,284 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:25:31,284 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:25:31,302 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 14:25:31,494 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:25:31,494 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:25:31,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:25:31,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 1 times [2022-04-27 14:25:31,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:25:31,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1337994492] [2022-04-27 14:25:31,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:25:31,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:25:31,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:25:31,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [731759270] [2022-04-27 14:25:31,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:25:31,505 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:25:31,505 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:25:31,506 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:25:31,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 14:25:31,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:25:31,543 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 14:25:31,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:25:31,553 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:25:40,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-27 14:25:40,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1697#true} is VALID [2022-04-27 14:25:40,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} ~cond := #in~cond; {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:25:40,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:25:40,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:25:40,937 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} #69#return; {1734#(<= 1 main_~y~0)} is VALID [2022-04-27 14:25:40,938 INFO L290 TraceCheckUtils]: 11: Hoare triple {1734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:25:40,938 INFO L290 TraceCheckUtils]: 12: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:25:40,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:25:40,939 INFO L272 TraceCheckUtils]: 14: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1697#true} is VALID [2022-04-27 14:25:40,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} ~cond := #in~cond; {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:25:40,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:25:40,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:25:40,940 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:25:40,941 INFO L290 TraceCheckUtils]: 19: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 14:25:40,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 14:25:40,943 INFO L290 TraceCheckUtils]: 21: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 14:25:40,943 INFO L290 TraceCheckUtils]: 22: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 14:25:40,948 INFO L272 TraceCheckUtils]: 23: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:25:40,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:25:40,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-27 14:25:40,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-27 14:25:40,949 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:25:40,949 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:26:52,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-27 14:26:52,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-27 14:26:52,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:26:52,849 INFO L272 TraceCheckUtils]: 23: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:26:52,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 14:26:52,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 14:26:52,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 14:26:52,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-27 14:26:52,861 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} #71#return; {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-27 14:26:52,862 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:26:52,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:26:52,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} ~cond := #in~cond; {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:26:52,867 INFO L272 TraceCheckUtils]: 14: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1697#true} is VALID [2022-04-27 14:26:52,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 14:26:52,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 14:26:52,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 14:26:52,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} #69#return; {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-27 14:26:52,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:52,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:52,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} ~cond := #in~cond; {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 14:26:52,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1697#true} is VALID [2022-04-27 14:26:52,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-27 14:26:52,872 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:26:52,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:26:52,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1337994492] [2022-04-27 14:26:52,872 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:26:52,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [731759270] [2022-04-27 14:26:52,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [731759270] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:26:52,872 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:26:52,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 17 [2022-04-27 14:26:52,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [272172687] [2022-04-27 14:26:52,872 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:26:52,873 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-27 14:26:52,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:26:52,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:52,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:52,920 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 14:26:52,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:26:52,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 14:26:52,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=223, Unknown=0, NotChecked=0, Total=272 [2022-04-27 14:26:52,920 INFO L87 Difference]: Start difference. First operand 87 states and 107 transitions. Second operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:56,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:56,329 INFO L93 Difference]: Finished difference Result 127 states and 164 transitions. [2022-04-27 14:26:56,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 14:26:56,329 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-27 14:26:56,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:26:56,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:56,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-27 14:26:56,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:56,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-27 14:26:56,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 83 transitions. [2022-04-27 14:26:56,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:56,523 INFO L225 Difference]: With dead ends: 127 [2022-04-27 14:26:56,523 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 14:26:56,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-27 14:26:56,524 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 99 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 370 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 89 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-27 14:26:56,525 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [102 Valid, 144 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-27 14:26:56,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 14:26:56,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 79. [2022-04-27 14:26:56,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:26:56,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:26:56,571 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:26:56,572 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:26:56,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:56,575 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-27 14:26:56,575 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-27 14:26:56,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:56,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:56,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-27 14:26:56,576 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-27 14:26:56,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:56,579 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-27 14:26:56,579 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-27 14:26:56,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:56,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:56,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:26:56,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:26:56,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:26:56,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2022-04-27 14:26:56,581 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 27 [2022-04-27 14:26:56,581 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:26:56,581 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2022-04-27 14:26:56,581 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:56,581 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2022-04-27 14:26:56,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 14:26:56,582 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:26:56,582 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:26:56,599 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 14:26:56,795 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:56,796 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:26:56,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:26:56,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 1 times [2022-04-27 14:26:56,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:26:56,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241567698] [2022-04-27 14:26:56,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:56,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:26:56,807 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:26:56,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1598817093] [2022-04-27 14:26:56,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:56,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:56,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:26:56,808 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:26:56,809 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-27 14:26:56,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:56,842 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 14:26:56,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:56,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:26:56,973 INFO L272 TraceCheckUtils]: 0: Hoare triple {2407#true} call ULTIMATE.init(); {2407#true} is VALID [2022-04-27 14:26:56,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {2407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2407#true} is VALID [2022-04-27 14:26:56,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-27 14:26:56,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2407#true} {2407#true} #77#return; {2407#true} is VALID [2022-04-27 14:26:56,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {2407#true} call #t~ret7 := main(); {2407#true} is VALID [2022-04-27 14:26:56,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {2407#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2407#true} is VALID [2022-04-27 14:26:56,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {2407#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2407#true} is VALID [2022-04-27 14:26:56,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {2407#true} ~cond := #in~cond; {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:26:56,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:56,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:56,975 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} {2407#true} #69#return; {2444#(<= 1 main_~y~0)} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2448#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 12: Hoare triple {2448#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2448#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {2448#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {2448#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:56,976 INFO L272 TraceCheckUtils]: 14: Hoare triple {2448#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2407#true} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 16: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-27 14:26:56,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-27 14:26:56,977 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2407#true} {2448#(<= 1 main_~b~0)} #71#return; {2448#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:56,978 INFO L290 TraceCheckUtils]: 19: Hoare triple {2448#(<= 1 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 14:26:56,978 INFO L272 TraceCheckUtils]: 20: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2407#true} is VALID [2022-04-27 14:26:56,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-27 14:26:56,978 INFO L290 TraceCheckUtils]: 22: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-27 14:26:56,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-27 14:26:56,978 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2407#true} {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} #73#return; {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 14:26:56,979 INFO L272 TraceCheckUtils]: 25: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:26:56,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2496#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:26:56,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {2496#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2408#false} is VALID [2022-04-27 14:26:56,984 INFO L290 TraceCheckUtils]: 28: Hoare triple {2408#false} assume !false; {2408#false} is VALID [2022-04-27 14:26:56,984 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 14:26:56,984 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:26:56,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:26:56,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241567698] [2022-04-27 14:26:56,985 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:26:56,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1598817093] [2022-04-27 14:26:56,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1598817093] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:26:56,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:26:56,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-27 14:26:56,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1852288802] [2022-04-27 14:26:56,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:26:56,985 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-27 14:26:56,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:26:56,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 14:26:57,003 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-27 14:26:57,003 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 14:26:57,003 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:26:57,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 14:26:57,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-27 14:26:57,004 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 14:26:57,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:57,348 INFO L93 Difference]: Finished difference Result 116 states and 151 transitions. [2022-04-27 14:26:57,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 14:26:57,348 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-27 14:26:57,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:26:57,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 14:26:57,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-27 14:26:57,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 14:26:57,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-27 14:26:57,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-27 14:26:57,393 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-27 14:26:57,394 INFO L225 Difference]: With dead ends: 116 [2022-04-27 14:26:57,394 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 14:26:57,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 14:26:57,395 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:26:57,395 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 141 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 14:26:57,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 14:26:57,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 99. [2022-04-27 14:26:57,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:26:57,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 14:26:57,458 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 14:26:57,459 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 14:26:57,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:57,461 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-27 14:26:57,461 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-27 14:26:57,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:57,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:57,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-27 14:26:57,462 INFO L87 Difference]: Start difference. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-27 14:26:57,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:57,464 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-27 14:26:57,464 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-27 14:26:57,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:57,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:57,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:26:57,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:26:57,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 14:26:57,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 125 transitions. [2022-04-27 14:26:57,467 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 125 transitions. Word has length 29 [2022-04-27 14:26:57,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:26:57,467 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 125 transitions. [2022-04-27 14:26:57,467 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 14:26:57,468 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 125 transitions. [2022-04-27 14:26:57,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 14:26:57,468 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:26:57,468 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:26:57,485 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 14:26:57,684 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:57,685 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:26:57,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:26:57,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1524039145, now seen corresponding path program 1 times [2022-04-27 14:26:57,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:26:57,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497439777] [2022-04-27 14:26:57,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:57,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:26:57,696 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:26:57,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [504764424] [2022-04-27 14:26:57,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:57,697 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:57,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:26:57,697 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:26:57,698 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 14:26:57,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:57,730 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 14:26:57,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:57,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:26:57,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {3011#true} call ULTIMATE.init(); {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {3011#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3011#true} {3011#true} #77#return; {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {3011#true} call #t~ret7 := main(); {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {3011#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {3011#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3011#true} is VALID [2022-04-27 14:26:57,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3011#true} {3011#true} #69#return; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {3011#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {3011#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {3011#true} assume !!(#t~post6 < 50);havoc #t~post6; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L272 TraceCheckUtils]: 14: Hoare triple {3011#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 16: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-27 14:26:57,837 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3011#true} {3011#true} #71#return; {3011#true} is VALID [2022-04-27 14:26:57,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {3011#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {3073#(not (= main_~a~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {3073#(not (= main_~a~0 0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,845 INFO L290 TraceCheckUtils]: 22: Hoare triple {3073#(not (= main_~a~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,845 INFO L290 TraceCheckUtils]: 23: Hoare triple {3073#(not (= main_~a~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {3073#(not (= main_~a~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,846 INFO L272 TraceCheckUtils]: 25: Hoare triple {3073#(not (= main_~a~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-27 14:26:57,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-27 14:26:57,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-27 14:26:57,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-27 14:26:57,846 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3011#true} {3073#(not (= main_~a~0 0))} #71#return; {3073#(not (= main_~a~0 0))} is VALID [2022-04-27 14:26:57,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {3073#(not (= main_~a~0 0))} assume !(0 != ~a~0 && 0 != ~b~0); {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-27 14:26:57,847 INFO L272 TraceCheckUtils]: 31: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3011#true} is VALID [2022-04-27 14:26:57,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-27 14:26:57,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-27 14:26:57,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-27 14:26:57,848 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3011#true} {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} #73#return; {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-27 14:26:57,848 INFO L272 TraceCheckUtils]: 36: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:26:57,849 INFO L290 TraceCheckUtils]: 37: Hoare triple {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:26:57,849 INFO L290 TraceCheckUtils]: 38: Hoare triple {3130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3012#false} is VALID [2022-04-27 14:26:57,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {3012#false} assume !false; {3012#false} is VALID [2022-04-27 14:26:57,850 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:26:57,850 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:26:57,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:26:57,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497439777] [2022-04-27 14:26:57,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:26:57,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [504764424] [2022-04-27 14:26:57,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [504764424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:26:57,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:26:57,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 14:26:57,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090986649] [2022-04-27 14:26:57,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:26:57,851 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-27 14:26:57,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:26:57,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:57,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:57,884 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 14:26:57,884 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:26:57,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 14:26:57,885 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-27 14:26:57,885 INFO L87 Difference]: Start difference. First operand 99 states and 125 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:58,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:58,178 INFO L93 Difference]: Finished difference Result 141 states and 180 transitions. [2022-04-27 14:26:58,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 14:26:58,178 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-27 14:26:58,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:26:58,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:58,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-27 14:26:58,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:58,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-27 14:26:58,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-27 14:26:58,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:58,216 INFO L225 Difference]: With dead ends: 141 [2022-04-27 14:26:58,216 INFO L226 Difference]: Without dead ends: 129 [2022-04-27 14:26:58,216 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-27 14:26:58,216 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:26:58,217 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:26:58,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-27 14:26:58,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 113. [2022-04-27 14:26:58,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:26:58,285 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 14:26:58,286 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 14:26:58,286 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 14:26:58,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:58,289 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-27 14:26:58,289 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-27 14:26:58,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:58,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:58,290 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-27 14:26:58,290 INFO L87 Difference]: Start difference. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-27 14:26:58,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:58,293 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-27 14:26:58,293 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-27 14:26:58,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:58,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:58,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:26:58,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:26:58,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 14:26:58,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 143 transitions. [2022-04-27 14:26:58,296 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 143 transitions. Word has length 40 [2022-04-27 14:26:58,296 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:26:58,296 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 143 transitions. [2022-04-27 14:26:58,296 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 14:26:58,296 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 143 transitions. [2022-04-27 14:26:58,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 14:26:58,296 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:26:58,296 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:26:58,315 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-27 14:26:58,509 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:58,509 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:26:58,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:26:58,510 INFO L85 PathProgramCache]: Analyzing trace with hash -470105561, now seen corresponding path program 1 times [2022-04-27 14:26:58,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:26:58,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1214941496] [2022-04-27 14:26:58,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:58,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:26:58,523 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:26:58,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [389285598] [2022-04-27 14:26:58,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:58,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:58,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:26:58,524 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:26:58,525 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 14:26:58,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:58,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 14:26:58,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:58,580 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:26:58,776 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 14:26:58,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:58,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} ~cond := #in~cond; {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:26:58,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:58,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:26:58,812 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} {3749#true} #69#return; {3786#(<= 1 main_~y~0)} is VALID [2022-04-27 14:26:58,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {3786#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,813 INFO L290 TraceCheckUtils]: 12: Hoare triple {3790#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {3790#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,814 INFO L272 TraceCheckUtils]: 14: Hoare triple {3790#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:58,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:58,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:58,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:58,815 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3790#(<= 1 main_~b~0)} #71#return; {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {3790#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {3790#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {3790#(<= 1 main_~b~0)} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3790#(<= 1 main_~b~0)} is VALID [2022-04-27 14:26:58,816 INFO L290 TraceCheckUtils]: 22: Hoare triple {3790#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3824#(<= 0 main_~b~0)} is VALID [2022-04-27 14:26:58,817 INFO L290 TraceCheckUtils]: 23: Hoare triple {3824#(<= 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3824#(<= 0 main_~b~0)} is VALID [2022-04-27 14:26:58,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {3824#(<= 0 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {3824#(<= 0 main_~b~0)} is VALID [2022-04-27 14:26:58,818 INFO L272 TraceCheckUtils]: 25: Hoare triple {3824#(<= 0 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:58,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:58,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:58,818 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:58,818 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3824#(<= 0 main_~b~0)} #71#return; {3824#(<= 0 main_~b~0)} is VALID [2022-04-27 14:26:58,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {3824#(<= 0 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:26:58,819 INFO L272 TraceCheckUtils]: 31: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:58,819 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:58,819 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:58,819 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:58,820 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} #73#return; {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:26:58,822 INFO L272 TraceCheckUtils]: 36: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:26:58,822 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:26:58,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-27 14:26:58,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-27 14:26:58,823 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:26:58,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:26:59,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-27 14:26:59,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-27 14:26:59,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:26:59,025 INFO L272 TraceCheckUtils]: 36: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:26:59,026 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3888#(= (* main_~b~0 main_~a~0) 0)} #73#return; {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-27 14:26:59,026 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:59,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:59,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:59,026 INFO L272 TraceCheckUtils]: 31: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:59,027 INFO L290 TraceCheckUtils]: 30: Hoare triple {3749#true} assume !(0 != ~a~0 && 0 != ~b~0); {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-27 14:26:59,027 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-27 14:26:59,027 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L272 TraceCheckUtils]: 25: Hoare triple {3749#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {3749#true} assume !!(#t~post6 < 50);havoc #t~post6; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {3749#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {3749#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {3749#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {3749#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:59,028 INFO L272 TraceCheckUtils]: 14: Hoare triple {3749#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {3749#true} assume !!(#t~post6 < 50);havoc #t~post6; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {3749#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3749#true} {3749#true} #69#return; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3749#true} is VALID [2022-04-27 14:26:59,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-27 14:26:59,030 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-27 14:26:59,030 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:26:59,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1214941496] [2022-04-27 14:26:59,030 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:26:59,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389285598] [2022-04-27 14:26:59,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389285598] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 14:26:59,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 14:26:59,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-27 14:26:59,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1667420909] [2022-04-27 14:26:59,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:26:59,031 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 14:26:59,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:26:59,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:26:59,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:59,054 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 14:26:59,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:26:59,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 14:26:59,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-27 14:26:59,054 INFO L87 Difference]: Start difference. First operand 113 states and 143 transitions. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:26:59,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:59,461 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-04-27 14:26:59,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 14:26:59,461 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 14:26:59,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:26:59,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:26:59,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-27 14:26:59,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:26:59,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-27 14:26:59,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-27 14:26:59,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:26:59,494 INFO L225 Difference]: With dead ends: 120 [2022-04-27 14:26:59,494 INFO L226 Difference]: Without dead ends: 100 [2022-04-27 14:26:59,494 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-27 14:26:59,495 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:26:59,495 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 14:26:59,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-27 14:26:59,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 66. [2022-04-27 14:26:59,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:26:59,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:26:59,535 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:26:59,535 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:26:59,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:59,545 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-27 14:26:59,545 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-27 14:26:59,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:59,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:59,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-27 14:26:59,546 INFO L87 Difference]: Start difference. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-27 14:26:59,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:26:59,547 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-27 14:26:59,547 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-27 14:26:59,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:26:59,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:26:59,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:26:59,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:26:59,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:26:59,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-27 14:26:59,549 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 40 [2022-04-27 14:26:59,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:26:59,549 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-27 14:26:59,549 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:26:59,549 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-27 14:26:59,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 14:26:59,550 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:26:59,550 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:26:59,568 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 14:26:59,763 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 14:26:59,764 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:26:59,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:26:59,764 INFO L85 PathProgramCache]: Analyzing trace with hash -1818717446, now seen corresponding path program 2 times [2022-04-27 14:26:59,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:26:59,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [746782698] [2022-04-27 14:26:59,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:26:59,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:26:59,775 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:26:59,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1015279918] [2022-04-27 14:26:59,775 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 14:26:59,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:26:59,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:26:59,776 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:26:59,777 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 14:26:59,819 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 14:26:59,819 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 14:26:59,820 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 14:26:59,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:26:59,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:00,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-27 14:27:00,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4461#(<= ~counter~0 0)} {4453#true} #77#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {4461#(<= ~counter~0 0)} call #t~ret7 := main(); {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {4461#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,113 INFO L272 TraceCheckUtils]: 6: Hoare triple {4461#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {4461#(<= ~counter~0 0)} ~cond := #in~cond; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {4461#(<= ~counter~0 0)} assume !(0 == ~cond); {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4461#(<= ~counter~0 0)} {4461#(<= ~counter~0 0)} #69#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {4461#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4461#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:00,120 INFO L290 TraceCheckUtils]: 12: Hoare triple {4461#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {4495#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,120 INFO L272 TraceCheckUtils]: 14: Hoare triple {4495#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {4495#(<= ~counter~0 1)} ~cond := #in~cond; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {4495#(<= ~counter~0 1)} assume !(0 == ~cond); {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,121 INFO L290 TraceCheckUtils]: 17: Hoare triple {4495#(<= ~counter~0 1)} assume true; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,122 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4495#(<= ~counter~0 1)} {4495#(<= ~counter~0 1)} #71#return; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {4495#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {4495#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4495#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:00,123 INFO L290 TraceCheckUtils]: 21: Hoare triple {4495#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,123 INFO L290 TraceCheckUtils]: 22: Hoare triple {4523#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,124 INFO L272 TraceCheckUtils]: 23: Hoare triple {4523#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {4523#(<= ~counter~0 2)} ~cond := #in~cond; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {4523#(<= ~counter~0 2)} assume !(0 == ~cond); {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,124 INFO L290 TraceCheckUtils]: 26: Hoare triple {4523#(<= ~counter~0 2)} assume true; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,125 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4523#(<= ~counter~0 2)} {4523#(<= ~counter~0 2)} #71#return; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,125 INFO L290 TraceCheckUtils]: 28: Hoare triple {4523#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {4523#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4523#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:00,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {4523#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {4551#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,127 INFO L272 TraceCheckUtils]: 32: Hoare triple {4551#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,127 INFO L290 TraceCheckUtils]: 33: Hoare triple {4551#(<= ~counter~0 3)} ~cond := #in~cond; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,127 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#(<= ~counter~0 3)} assume !(0 == ~cond); {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,128 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#(<= ~counter~0 3)} assume true; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,128 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4551#(<= ~counter~0 3)} {4551#(<= ~counter~0 3)} #71#return; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,128 INFO L290 TraceCheckUtils]: 37: Hoare triple {4551#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,129 INFO L290 TraceCheckUtils]: 38: Hoare triple {4551#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4551#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:00,129 INFO L290 TraceCheckUtils]: 39: Hoare triple {4551#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,129 INFO L290 TraceCheckUtils]: 40: Hoare triple {4579#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,130 INFO L272 TraceCheckUtils]: 41: Hoare triple {4579#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {4579#(<= ~counter~0 4)} ~cond := #in~cond; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,131 INFO L290 TraceCheckUtils]: 43: Hoare triple {4579#(<= ~counter~0 4)} assume !(0 == ~cond); {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,131 INFO L290 TraceCheckUtils]: 44: Hoare triple {4579#(<= ~counter~0 4)} assume true; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,131 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4579#(<= ~counter~0 4)} {4579#(<= ~counter~0 4)} #71#return; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,132 INFO L290 TraceCheckUtils]: 46: Hoare triple {4579#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {4579#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4579#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:00,132 INFO L290 TraceCheckUtils]: 48: Hoare triple {4579#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4607#(<= |main_#t~post6| 4)} is VALID [2022-04-27 14:27:00,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {4607#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {4454#false} is VALID [2022-04-27 14:27:00,133 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4454#false} is VALID [2022-04-27 14:27:00,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-27 14:27:00,133 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-27 14:27:00,133 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-27 14:27:00,133 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:27:00,133 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:27:00,394 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-27 14:27:00,394 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-27 14:27:00,394 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-27 14:27:00,394 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4454#false} is VALID [2022-04-27 14:27:00,395 INFO L290 TraceCheckUtils]: 49: Hoare triple {4635#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {4454#false} is VALID [2022-04-27 14:27:00,395 INFO L290 TraceCheckUtils]: 48: Hoare triple {4639#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4635#(< |main_#t~post6| 50)} is VALID [2022-04-27 14:27:00,395 INFO L290 TraceCheckUtils]: 47: Hoare triple {4639#(< ~counter~0 50)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4639#(< ~counter~0 50)} is VALID [2022-04-27 14:27:00,396 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(< ~counter~0 50)} assume !!(0 != ~a~0 && 0 != ~b~0); {4639#(< ~counter~0 50)} is VALID [2022-04-27 14:27:00,396 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4453#true} {4639#(< ~counter~0 50)} #71#return; {4639#(< ~counter~0 50)} is VALID [2022-04-27 14:27:00,396 INFO L290 TraceCheckUtils]: 44: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-27 14:27:00,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-27 14:27:00,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-27 14:27:00,397 INFO L272 TraceCheckUtils]: 41: Hoare triple {4639#(< ~counter~0 50)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-27 14:27:00,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {4639#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {4639#(< ~counter~0 50)} is VALID [2022-04-27 14:27:00,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {4667#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4639#(< ~counter~0 50)} is VALID [2022-04-27 14:27:00,398 INFO L290 TraceCheckUtils]: 38: Hoare triple {4667#(< ~counter~0 49)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4667#(< ~counter~0 49)} is VALID [2022-04-27 14:27:00,398 INFO L290 TraceCheckUtils]: 37: Hoare triple {4667#(< ~counter~0 49)} assume !!(0 != ~a~0 && 0 != ~b~0); {4667#(< ~counter~0 49)} is VALID [2022-04-27 14:27:00,406 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4453#true} {4667#(< ~counter~0 49)} #71#return; {4667#(< ~counter~0 49)} is VALID [2022-04-27 14:27:00,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-27 14:27:00,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-27 14:27:00,407 INFO L290 TraceCheckUtils]: 33: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-27 14:27:00,407 INFO L272 TraceCheckUtils]: 32: Hoare triple {4667#(< ~counter~0 49)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-27 14:27:00,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {4667#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {4667#(< ~counter~0 49)} is VALID [2022-04-27 14:27:00,408 INFO L290 TraceCheckUtils]: 30: Hoare triple {4695#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4667#(< ~counter~0 49)} is VALID [2022-04-27 14:27:00,408 INFO L290 TraceCheckUtils]: 29: Hoare triple {4695#(< ~counter~0 48)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4695#(< ~counter~0 48)} is VALID [2022-04-27 14:27:00,408 INFO L290 TraceCheckUtils]: 28: Hoare triple {4695#(< ~counter~0 48)} assume !!(0 != ~a~0 && 0 != ~b~0); {4695#(< ~counter~0 48)} is VALID [2022-04-27 14:27:00,409 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4453#true} {4695#(< ~counter~0 48)} #71#return; {4695#(< ~counter~0 48)} is VALID [2022-04-27 14:27:00,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-27 14:27:00,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-27 14:27:00,409 INFO L290 TraceCheckUtils]: 24: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-27 14:27:00,409 INFO L272 TraceCheckUtils]: 23: Hoare triple {4695#(< ~counter~0 48)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-27 14:27:00,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {4695#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {4695#(< ~counter~0 48)} is VALID [2022-04-27 14:27:00,410 INFO L290 TraceCheckUtils]: 21: Hoare triple {4723#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4695#(< ~counter~0 48)} is VALID [2022-04-27 14:27:00,410 INFO L290 TraceCheckUtils]: 20: Hoare triple {4723#(< ~counter~0 47)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4723#(< ~counter~0 47)} is VALID [2022-04-27 14:27:00,410 INFO L290 TraceCheckUtils]: 19: Hoare triple {4723#(< ~counter~0 47)} assume !!(0 != ~a~0 && 0 != ~b~0); {4723#(< ~counter~0 47)} is VALID [2022-04-27 14:27:00,411 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4453#true} {4723#(< ~counter~0 47)} #71#return; {4723#(< ~counter~0 47)} is VALID [2022-04-27 14:27:00,411 INFO L290 TraceCheckUtils]: 17: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-27 14:27:00,411 INFO L290 TraceCheckUtils]: 16: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-27 14:27:00,411 INFO L290 TraceCheckUtils]: 15: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-27 14:27:00,411 INFO L272 TraceCheckUtils]: 14: Hoare triple {4723#(< ~counter~0 47)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4453#true} is VALID [2022-04-27 14:27:00,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {4723#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {4723#(< ~counter~0 47)} is VALID [2022-04-27 14:27:00,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {4751#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4723#(< ~counter~0 47)} is VALID [2022-04-27 14:27:00,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {4751#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4453#true} {4751#(< ~counter~0 46)} #69#return; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-27 14:27:00,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-27 14:27:00,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-27 14:27:00,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {4751#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4453#true} is VALID [2022-04-27 14:27:00,413 INFO L290 TraceCheckUtils]: 5: Hoare triple {4751#(< ~counter~0 46)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {4751#(< ~counter~0 46)} call #t~ret7 := main(); {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4751#(< ~counter~0 46)} {4453#true} #77#return; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {4751#(< ~counter~0 46)} assume true; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4751#(< ~counter~0 46)} is VALID [2022-04-27 14:27:00,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-27 14:27:00,414 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 14:27:00,414 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:00,414 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [746782698] [2022-04-27 14:27:00,414 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:00,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1015279918] [2022-04-27 14:27:00,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1015279918] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:27:00,415 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:27:00,415 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-27 14:27:00,415 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1254383978] [2022-04-27 14:27:00,418 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:27:00,421 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-27 14:27:00,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:00,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-27 14:27:00,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:00,486 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 14:27:00,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:00,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 14:27:00,486 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-27 14:27:00,486 INFO L87 Difference]: Start difference. First operand 66 states and 79 transitions. Second operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-27 14:27:01,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:01,012 INFO L93 Difference]: Finished difference Result 140 states and 177 transitions. [2022-04-27 14:27:01,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 14:27:01,012 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-27 14:27:01,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:01,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-27 14:27:01,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-27 14:27:01,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-27 14:27:01,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-27 14:27:01,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 174 transitions. [2022-04-27 14:27:01,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:01,143 INFO L225 Difference]: With dead ends: 140 [2022-04-27 14:27:01,143 INFO L226 Difference]: Without dead ends: 132 [2022-04-27 14:27:01,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-27 14:27:01,144 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 223 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 223 SdHoareTripleChecker+Valid, 240 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:01,144 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [223 Valid, 240 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 14:27:01,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-27 14:27:01,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-27 14:27:01,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:01,230 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:27:01,230 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:27:01,230 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:27:01,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:01,232 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-27 14:27:01,232 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-27 14:27:01,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:01,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:01,233 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-27 14:27:01,233 INFO L87 Difference]: Start difference. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-27 14:27:01,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:01,235 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-27 14:27:01,235 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-27 14:27:01,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:01,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:01,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:01,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:01,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:27:01,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 163 transitions. [2022-04-27 14:27:01,237 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 163 transitions. Word has length 54 [2022-04-27 14:27:01,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:01,237 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 163 transitions. [2022-04-27 14:27:01,238 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-27 14:27:01,238 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-27 14:27:01,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-27 14:27:01,238 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:01,238 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:01,259 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-27 14:27:01,447 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 14:27:01,447 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:01,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:01,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1397474810, now seen corresponding path program 3 times [2022-04-27 14:27:01,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:01,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856287709] [2022-04-27 14:27:01,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:01,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:01,464 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:01,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [105823469] [2022-04-27 14:27:01,465 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 14:27:01,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:01,465 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:01,465 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:27:01,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 14:27:01,605 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-04-27 14:27:01,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 14:27:01,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 346 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 14:27:01,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:01,627 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:02,148 INFO L272 TraceCheckUtils]: 0: Hoare triple {5427#true} call ULTIMATE.init(); {5427#true} is VALID [2022-04-27 14:27:02,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {5427#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {5435#(<= ~counter~0 0)} assume true; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5435#(<= ~counter~0 0)} {5427#true} #77#return; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {5435#(<= ~counter~0 0)} call #t~ret7 := main(); {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {5435#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {5435#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {5435#(<= ~counter~0 0)} ~cond := #in~cond; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {5435#(<= ~counter~0 0)} assume !(0 == ~cond); {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {5435#(<= ~counter~0 0)} assume true; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5435#(<= ~counter~0 0)} {5435#(<= ~counter~0 0)} #69#return; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {5435#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5435#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:02,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {5435#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {5469#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,154 INFO L272 TraceCheckUtils]: 14: Hoare triple {5469#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {5469#(<= ~counter~0 1)} ~cond := #in~cond; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {5469#(<= ~counter~0 1)} assume !(0 == ~cond); {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {5469#(<= ~counter~0 1)} assume true; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,155 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5469#(<= ~counter~0 1)} {5469#(<= ~counter~0 1)} #71#return; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {5469#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {5469#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5469#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:02,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {5469#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {5497#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,157 INFO L272 TraceCheckUtils]: 23: Hoare triple {5497#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {5497#(<= ~counter~0 2)} ~cond := #in~cond; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {5497#(<= ~counter~0 2)} assume !(0 == ~cond); {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {5497#(<= ~counter~0 2)} assume true; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,158 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5497#(<= ~counter~0 2)} {5497#(<= ~counter~0 2)} #71#return; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,158 INFO L290 TraceCheckUtils]: 28: Hoare triple {5497#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,159 INFO L290 TraceCheckUtils]: 29: Hoare triple {5497#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5497#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:02,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {5497#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {5525#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,160 INFO L272 TraceCheckUtils]: 32: Hoare triple {5525#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {5525#(<= ~counter~0 3)} ~cond := #in~cond; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {5525#(<= ~counter~0 3)} assume !(0 == ~cond); {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {5525#(<= ~counter~0 3)} assume true; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,161 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5525#(<= ~counter~0 3)} {5525#(<= ~counter~0 3)} #71#return; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,162 INFO L290 TraceCheckUtils]: 37: Hoare triple {5525#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,162 INFO L290 TraceCheckUtils]: 38: Hoare triple {5525#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5525#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:02,162 INFO L290 TraceCheckUtils]: 39: Hoare triple {5525#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {5553#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,163 INFO L272 TraceCheckUtils]: 41: Hoare triple {5553#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {5553#(<= ~counter~0 4)} ~cond := #in~cond; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {5553#(<= ~counter~0 4)} assume !(0 == ~cond); {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {5553#(<= ~counter~0 4)} assume true; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,164 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5553#(<= ~counter~0 4)} {5553#(<= ~counter~0 4)} #71#return; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,165 INFO L290 TraceCheckUtils]: 46: Hoare triple {5553#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,165 INFO L290 TraceCheckUtils]: 47: Hoare triple {5553#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5553#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:02,165 INFO L290 TraceCheckUtils]: 48: Hoare triple {5553#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,165 INFO L290 TraceCheckUtils]: 49: Hoare triple {5581#(<= ~counter~0 5)} assume !!(#t~post6 < 50);havoc #t~post6; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,166 INFO L272 TraceCheckUtils]: 50: Hoare triple {5581#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,166 INFO L290 TraceCheckUtils]: 51: Hoare triple {5581#(<= ~counter~0 5)} ~cond := #in~cond; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,166 INFO L290 TraceCheckUtils]: 52: Hoare triple {5581#(<= ~counter~0 5)} assume !(0 == ~cond); {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,167 INFO L290 TraceCheckUtils]: 53: Hoare triple {5581#(<= ~counter~0 5)} assume true; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,167 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5581#(<= ~counter~0 5)} {5581#(<= ~counter~0 5)} #71#return; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,168 INFO L290 TraceCheckUtils]: 55: Hoare triple {5581#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,168 INFO L290 TraceCheckUtils]: 56: Hoare triple {5581#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5581#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:02,168 INFO L290 TraceCheckUtils]: 57: Hoare triple {5581#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,169 INFO L290 TraceCheckUtils]: 58: Hoare triple {5609#(<= ~counter~0 6)} assume !!(#t~post6 < 50);havoc #t~post6; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,169 INFO L272 TraceCheckUtils]: 59: Hoare triple {5609#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,169 INFO L290 TraceCheckUtils]: 60: Hoare triple {5609#(<= ~counter~0 6)} ~cond := #in~cond; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,170 INFO L290 TraceCheckUtils]: 61: Hoare triple {5609#(<= ~counter~0 6)} assume !(0 == ~cond); {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,170 INFO L290 TraceCheckUtils]: 62: Hoare triple {5609#(<= ~counter~0 6)} assume true; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,170 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5609#(<= ~counter~0 6)} {5609#(<= ~counter~0 6)} #71#return; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,171 INFO L290 TraceCheckUtils]: 64: Hoare triple {5609#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,171 INFO L290 TraceCheckUtils]: 65: Hoare triple {5609#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5609#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:02,171 INFO L290 TraceCheckUtils]: 66: Hoare triple {5609#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,171 INFO L290 TraceCheckUtils]: 67: Hoare triple {5637#(<= ~counter~0 7)} assume !!(#t~post6 < 50);havoc #t~post6; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,172 INFO L272 TraceCheckUtils]: 68: Hoare triple {5637#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,172 INFO L290 TraceCheckUtils]: 69: Hoare triple {5637#(<= ~counter~0 7)} ~cond := #in~cond; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,173 INFO L290 TraceCheckUtils]: 70: Hoare triple {5637#(<= ~counter~0 7)} assume !(0 == ~cond); {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,173 INFO L290 TraceCheckUtils]: 71: Hoare triple {5637#(<= ~counter~0 7)} assume true; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,173 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5637#(<= ~counter~0 7)} {5637#(<= ~counter~0 7)} #71#return; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,174 INFO L290 TraceCheckUtils]: 73: Hoare triple {5637#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,174 INFO L290 TraceCheckUtils]: 74: Hoare triple {5637#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5637#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:02,174 INFO L290 TraceCheckUtils]: 75: Hoare triple {5637#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,174 INFO L290 TraceCheckUtils]: 76: Hoare triple {5665#(<= ~counter~0 8)} assume !!(#t~post6 < 50);havoc #t~post6; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,175 INFO L272 TraceCheckUtils]: 77: Hoare triple {5665#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,187 INFO L290 TraceCheckUtils]: 78: Hoare triple {5665#(<= ~counter~0 8)} ~cond := #in~cond; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,188 INFO L290 TraceCheckUtils]: 79: Hoare triple {5665#(<= ~counter~0 8)} assume !(0 == ~cond); {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,188 INFO L290 TraceCheckUtils]: 80: Hoare triple {5665#(<= ~counter~0 8)} assume true; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,188 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {5665#(<= ~counter~0 8)} {5665#(<= ~counter~0 8)} #71#return; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,189 INFO L290 TraceCheckUtils]: 82: Hoare triple {5665#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,189 INFO L290 TraceCheckUtils]: 83: Hoare triple {5665#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5665#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:02,189 INFO L290 TraceCheckUtils]: 84: Hoare triple {5665#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,190 INFO L290 TraceCheckUtils]: 85: Hoare triple {5693#(<= ~counter~0 9)} assume !!(#t~post6 < 50);havoc #t~post6; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,190 INFO L272 TraceCheckUtils]: 86: Hoare triple {5693#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,191 INFO L290 TraceCheckUtils]: 87: Hoare triple {5693#(<= ~counter~0 9)} ~cond := #in~cond; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,191 INFO L290 TraceCheckUtils]: 88: Hoare triple {5693#(<= ~counter~0 9)} assume !(0 == ~cond); {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,191 INFO L290 TraceCheckUtils]: 89: Hoare triple {5693#(<= ~counter~0 9)} assume true; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,192 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {5693#(<= ~counter~0 9)} {5693#(<= ~counter~0 9)} #71#return; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,192 INFO L290 TraceCheckUtils]: 91: Hoare triple {5693#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,192 INFO L290 TraceCheckUtils]: 92: Hoare triple {5693#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5693#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:02,193 INFO L290 TraceCheckUtils]: 93: Hoare triple {5693#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,193 INFO L290 TraceCheckUtils]: 94: Hoare triple {5721#(<= ~counter~0 10)} assume !!(#t~post6 < 50);havoc #t~post6; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,193 INFO L272 TraceCheckUtils]: 95: Hoare triple {5721#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,194 INFO L290 TraceCheckUtils]: 96: Hoare triple {5721#(<= ~counter~0 10)} ~cond := #in~cond; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,194 INFO L290 TraceCheckUtils]: 97: Hoare triple {5721#(<= ~counter~0 10)} assume !(0 == ~cond); {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,194 INFO L290 TraceCheckUtils]: 98: Hoare triple {5721#(<= ~counter~0 10)} assume true; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,195 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5721#(<= ~counter~0 10)} {5721#(<= ~counter~0 10)} #71#return; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,195 INFO L290 TraceCheckUtils]: 100: Hoare triple {5721#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,195 INFO L290 TraceCheckUtils]: 101: Hoare triple {5721#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5721#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:02,196 INFO L290 TraceCheckUtils]: 102: Hoare triple {5721#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5749#(<= |main_#t~post6| 10)} is VALID [2022-04-27 14:27:02,196 INFO L290 TraceCheckUtils]: 103: Hoare triple {5749#(<= |main_#t~post6| 10)} assume !(#t~post6 < 50);havoc #t~post6; {5428#false} is VALID [2022-04-27 14:27:02,196 INFO L272 TraceCheckUtils]: 104: Hoare triple {5428#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5428#false} is VALID [2022-04-27 14:27:02,196 INFO L290 TraceCheckUtils]: 105: Hoare triple {5428#false} ~cond := #in~cond; {5428#false} is VALID [2022-04-27 14:27:02,196 INFO L290 TraceCheckUtils]: 106: Hoare triple {5428#false} assume 0 == ~cond; {5428#false} is VALID [2022-04-27 14:27:02,196 INFO L290 TraceCheckUtils]: 107: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 14:27:02,197 INFO L134 CoverageAnalysis]: Checked inductivity of 445 backedges. 20 proven. 425 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:27:02,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:27:02,785 INFO L290 TraceCheckUtils]: 107: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 14:27:02,785 INFO L290 TraceCheckUtils]: 106: Hoare triple {5428#false} assume 0 == ~cond; {5428#false} is VALID [2022-04-27 14:27:02,785 INFO L290 TraceCheckUtils]: 105: Hoare triple {5428#false} ~cond := #in~cond; {5428#false} is VALID [2022-04-27 14:27:02,785 INFO L272 TraceCheckUtils]: 104: Hoare triple {5428#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5428#false} is VALID [2022-04-27 14:27:02,785 INFO L290 TraceCheckUtils]: 103: Hoare triple {5777#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {5428#false} is VALID [2022-04-27 14:27:02,786 INFO L290 TraceCheckUtils]: 102: Hoare triple {5781#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5777#(< |main_#t~post6| 50)} is VALID [2022-04-27 14:27:02,786 INFO L290 TraceCheckUtils]: 101: Hoare triple {5781#(< ~counter~0 50)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5781#(< ~counter~0 50)} is VALID [2022-04-27 14:27:02,786 INFO L290 TraceCheckUtils]: 100: Hoare triple {5781#(< ~counter~0 50)} assume !!(0 != ~a~0 && 0 != ~b~0); {5781#(< ~counter~0 50)} is VALID [2022-04-27 14:27:02,787 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5427#true} {5781#(< ~counter~0 50)} #71#return; {5781#(< ~counter~0 50)} is VALID [2022-04-27 14:27:02,787 INFO L290 TraceCheckUtils]: 98: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,787 INFO L290 TraceCheckUtils]: 97: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,787 INFO L290 TraceCheckUtils]: 96: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,787 INFO L272 TraceCheckUtils]: 95: Hoare triple {5781#(< ~counter~0 50)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,787 INFO L290 TraceCheckUtils]: 94: Hoare triple {5781#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {5781#(< ~counter~0 50)} is VALID [2022-04-27 14:27:02,788 INFO L290 TraceCheckUtils]: 93: Hoare triple {5809#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5781#(< ~counter~0 50)} is VALID [2022-04-27 14:27:02,788 INFO L290 TraceCheckUtils]: 92: Hoare triple {5809#(< ~counter~0 49)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5809#(< ~counter~0 49)} is VALID [2022-04-27 14:27:02,788 INFO L290 TraceCheckUtils]: 91: Hoare triple {5809#(< ~counter~0 49)} assume !!(0 != ~a~0 && 0 != ~b~0); {5809#(< ~counter~0 49)} is VALID [2022-04-27 14:27:02,789 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {5427#true} {5809#(< ~counter~0 49)} #71#return; {5809#(< ~counter~0 49)} is VALID [2022-04-27 14:27:02,789 INFO L290 TraceCheckUtils]: 89: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,789 INFO L290 TraceCheckUtils]: 88: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,789 INFO L290 TraceCheckUtils]: 87: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,789 INFO L272 TraceCheckUtils]: 86: Hoare triple {5809#(< ~counter~0 49)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,789 INFO L290 TraceCheckUtils]: 85: Hoare triple {5809#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {5809#(< ~counter~0 49)} is VALID [2022-04-27 14:27:02,790 INFO L290 TraceCheckUtils]: 84: Hoare triple {5837#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5809#(< ~counter~0 49)} is VALID [2022-04-27 14:27:02,790 INFO L290 TraceCheckUtils]: 83: Hoare triple {5837#(< ~counter~0 48)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5837#(< ~counter~0 48)} is VALID [2022-04-27 14:27:02,790 INFO L290 TraceCheckUtils]: 82: Hoare triple {5837#(< ~counter~0 48)} assume !!(0 != ~a~0 && 0 != ~b~0); {5837#(< ~counter~0 48)} is VALID [2022-04-27 14:27:02,791 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {5427#true} {5837#(< ~counter~0 48)} #71#return; {5837#(< ~counter~0 48)} is VALID [2022-04-27 14:27:02,791 INFO L290 TraceCheckUtils]: 80: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,791 INFO L290 TraceCheckUtils]: 79: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,791 INFO L290 TraceCheckUtils]: 78: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,791 INFO L272 TraceCheckUtils]: 77: Hoare triple {5837#(< ~counter~0 48)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,791 INFO L290 TraceCheckUtils]: 76: Hoare triple {5837#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {5837#(< ~counter~0 48)} is VALID [2022-04-27 14:27:02,792 INFO L290 TraceCheckUtils]: 75: Hoare triple {5865#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5837#(< ~counter~0 48)} is VALID [2022-04-27 14:27:02,792 INFO L290 TraceCheckUtils]: 74: Hoare triple {5865#(< ~counter~0 47)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5865#(< ~counter~0 47)} is VALID [2022-04-27 14:27:02,792 INFO L290 TraceCheckUtils]: 73: Hoare triple {5865#(< ~counter~0 47)} assume !!(0 != ~a~0 && 0 != ~b~0); {5865#(< ~counter~0 47)} is VALID [2022-04-27 14:27:02,793 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5427#true} {5865#(< ~counter~0 47)} #71#return; {5865#(< ~counter~0 47)} is VALID [2022-04-27 14:27:02,793 INFO L290 TraceCheckUtils]: 71: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,793 INFO L290 TraceCheckUtils]: 70: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,793 INFO L290 TraceCheckUtils]: 69: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,793 INFO L272 TraceCheckUtils]: 68: Hoare triple {5865#(< ~counter~0 47)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,793 INFO L290 TraceCheckUtils]: 67: Hoare triple {5865#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {5865#(< ~counter~0 47)} is VALID [2022-04-27 14:27:02,793 INFO L290 TraceCheckUtils]: 66: Hoare triple {5893#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5865#(< ~counter~0 47)} is VALID [2022-04-27 14:27:02,794 INFO L290 TraceCheckUtils]: 65: Hoare triple {5893#(< ~counter~0 46)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5893#(< ~counter~0 46)} is VALID [2022-04-27 14:27:02,794 INFO L290 TraceCheckUtils]: 64: Hoare triple {5893#(< ~counter~0 46)} assume !!(0 != ~a~0 && 0 != ~b~0); {5893#(< ~counter~0 46)} is VALID [2022-04-27 14:27:02,794 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5427#true} {5893#(< ~counter~0 46)} #71#return; {5893#(< ~counter~0 46)} is VALID [2022-04-27 14:27:02,795 INFO L290 TraceCheckUtils]: 62: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,795 INFO L290 TraceCheckUtils]: 61: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,795 INFO L290 TraceCheckUtils]: 60: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,795 INFO L272 TraceCheckUtils]: 59: Hoare triple {5893#(< ~counter~0 46)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,795 INFO L290 TraceCheckUtils]: 58: Hoare triple {5893#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {5893#(< ~counter~0 46)} is VALID [2022-04-27 14:27:02,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {5921#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5893#(< ~counter~0 46)} is VALID [2022-04-27 14:27:02,796 INFO L290 TraceCheckUtils]: 56: Hoare triple {5921#(< ~counter~0 45)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5921#(< ~counter~0 45)} is VALID [2022-04-27 14:27:02,796 INFO L290 TraceCheckUtils]: 55: Hoare triple {5921#(< ~counter~0 45)} assume !!(0 != ~a~0 && 0 != ~b~0); {5921#(< ~counter~0 45)} is VALID [2022-04-27 14:27:02,796 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5427#true} {5921#(< ~counter~0 45)} #71#return; {5921#(< ~counter~0 45)} is VALID [2022-04-27 14:27:02,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,797 INFO L290 TraceCheckUtils]: 52: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,797 INFO L290 TraceCheckUtils]: 51: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,797 INFO L272 TraceCheckUtils]: 50: Hoare triple {5921#(< ~counter~0 45)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {5921#(< ~counter~0 45)} assume !!(#t~post6 < 50);havoc #t~post6; {5921#(< ~counter~0 45)} is VALID [2022-04-27 14:27:02,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {5949#(< ~counter~0 44)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5921#(< ~counter~0 45)} is VALID [2022-04-27 14:27:02,798 INFO L290 TraceCheckUtils]: 47: Hoare triple {5949#(< ~counter~0 44)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5949#(< ~counter~0 44)} is VALID [2022-04-27 14:27:02,798 INFO L290 TraceCheckUtils]: 46: Hoare triple {5949#(< ~counter~0 44)} assume !!(0 != ~a~0 && 0 != ~b~0); {5949#(< ~counter~0 44)} is VALID [2022-04-27 14:27:02,798 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5427#true} {5949#(< ~counter~0 44)} #71#return; {5949#(< ~counter~0 44)} is VALID [2022-04-27 14:27:02,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,799 INFO L272 TraceCheckUtils]: 41: Hoare triple {5949#(< ~counter~0 44)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {5949#(< ~counter~0 44)} assume !!(#t~post6 < 50);havoc #t~post6; {5949#(< ~counter~0 44)} is VALID [2022-04-27 14:27:02,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {5977#(< ~counter~0 43)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5949#(< ~counter~0 44)} is VALID [2022-04-27 14:27:02,799 INFO L290 TraceCheckUtils]: 38: Hoare triple {5977#(< ~counter~0 43)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5977#(< ~counter~0 43)} is VALID [2022-04-27 14:27:02,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {5977#(< ~counter~0 43)} assume !!(0 != ~a~0 && 0 != ~b~0); {5977#(< ~counter~0 43)} is VALID [2022-04-27 14:27:02,800 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5427#true} {5977#(< ~counter~0 43)} #71#return; {5977#(< ~counter~0 43)} is VALID [2022-04-27 14:27:02,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,800 INFO L290 TraceCheckUtils]: 34: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,800 INFO L290 TraceCheckUtils]: 33: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,800 INFO L272 TraceCheckUtils]: 32: Hoare triple {5977#(< ~counter~0 43)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {5977#(< ~counter~0 43)} assume !!(#t~post6 < 50);havoc #t~post6; {5977#(< ~counter~0 43)} is VALID [2022-04-27 14:27:02,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {6005#(< ~counter~0 42)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5977#(< ~counter~0 43)} is VALID [2022-04-27 14:27:02,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {6005#(< ~counter~0 42)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {6005#(< ~counter~0 42)} is VALID [2022-04-27 14:27:02,802 INFO L290 TraceCheckUtils]: 28: Hoare triple {6005#(< ~counter~0 42)} assume !!(0 != ~a~0 && 0 != ~b~0); {6005#(< ~counter~0 42)} is VALID [2022-04-27 14:27:02,802 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5427#true} {6005#(< ~counter~0 42)} #71#return; {6005#(< ~counter~0 42)} is VALID [2022-04-27 14:27:02,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,802 INFO L290 TraceCheckUtils]: 24: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,802 INFO L272 TraceCheckUtils]: 23: Hoare triple {6005#(< ~counter~0 42)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {6005#(< ~counter~0 42)} assume !!(#t~post6 < 50);havoc #t~post6; {6005#(< ~counter~0 42)} is VALID [2022-04-27 14:27:02,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {6033#(< ~counter~0 41)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6005#(< ~counter~0 42)} is VALID [2022-04-27 14:27:02,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {6033#(< ~counter~0 41)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {6033#(< ~counter~0 41)} is VALID [2022-04-27 14:27:02,803 INFO L290 TraceCheckUtils]: 19: Hoare triple {6033#(< ~counter~0 41)} assume !!(0 != ~a~0 && 0 != ~b~0); {6033#(< ~counter~0 41)} is VALID [2022-04-27 14:27:02,804 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5427#true} {6033#(< ~counter~0 41)} #71#return; {6033#(< ~counter~0 41)} is VALID [2022-04-27 14:27:02,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,804 INFO L290 TraceCheckUtils]: 16: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,804 INFO L290 TraceCheckUtils]: 15: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,804 INFO L272 TraceCheckUtils]: 14: Hoare triple {6033#(< ~counter~0 41)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {6033#(< ~counter~0 41)} assume !!(#t~post6 < 50);havoc #t~post6; {6033#(< ~counter~0 41)} is VALID [2022-04-27 14:27:02,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {6061#(< ~counter~0 40)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6033#(< ~counter~0 41)} is VALID [2022-04-27 14:27:02,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {6061#(< ~counter~0 40)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5427#true} {6061#(< ~counter~0 40)} #69#return; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,806 INFO L290 TraceCheckUtils]: 9: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 14:27:02,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 14:27:02,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 14:27:02,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {6061#(< ~counter~0 40)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5427#true} is VALID [2022-04-27 14:27:02,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {6061#(< ~counter~0 40)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {6061#(< ~counter~0 40)} call #t~ret7 := main(); {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6061#(< ~counter~0 40)} {5427#true} #77#return; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {6061#(< ~counter~0 40)} assume true; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {5427#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6061#(< ~counter~0 40)} is VALID [2022-04-27 14:27:02,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {5427#true} call ULTIMATE.init(); {5427#true} is VALID [2022-04-27 14:27:02,808 INFO L134 CoverageAnalysis]: Checked inductivity of 445 backedges. 20 proven. 245 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 14:27:02,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:02,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856287709] [2022-04-27 14:27:02,808 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:02,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [105823469] [2022-04-27 14:27:02,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [105823469] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:27:02,808 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:27:02,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2022-04-27 14:27:02,808 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [390215303] [2022-04-27 14:27:02,808 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:27:02,809 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) Word has length 108 [2022-04-27 14:27:02,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:02,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) [2022-04-27 14:27:02,928 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:02,928 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 14:27:02,928 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:02,929 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 14:27:02,929 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=281, Invalid=369, Unknown=0, NotChecked=0, Total=650 [2022-04-27 14:27:02,929 INFO L87 Difference]: Start difference. First operand 132 states and 163 transitions. Second operand has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) [2022-04-27 14:27:04,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:04,101 INFO L93 Difference]: Finished difference Result 272 states and 351 transitions. [2022-04-27 14:27:04,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2022-04-27 14:27:04,101 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) Word has length 108 [2022-04-27 14:27:04,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:04,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) [2022-04-27 14:27:04,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 348 transitions. [2022-04-27 14:27:04,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) [2022-04-27 14:27:04,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 348 transitions. [2022-04-27 14:27:04,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 348 transitions. [2022-04-27 14:27:04,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 348 edges. 348 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:04,367 INFO L225 Difference]: With dead ends: 272 [2022-04-27 14:27:04,367 INFO L226 Difference]: Without dead ends: 264 [2022-04-27 14:27:04,368 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 191 SyntacticMatches, 0 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 286 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=796, Invalid=1366, Unknown=0, NotChecked=0, Total=2162 [2022-04-27 14:27:04,368 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 463 mSDsluCounter, 361 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 463 SdHoareTripleChecker+Valid, 412 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:04,369 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [463 Valid, 412 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 14:27:04,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-27 14:27:04,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 264. [2022-04-27 14:27:04,503 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:04,503 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 14:27:04,504 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 14:27:04,504 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 14:27:04,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:04,508 INFO L93 Difference]: Finished difference Result 264 states and 331 transitions. [2022-04-27 14:27:04,508 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-27 14:27:04,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:04,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:04,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 264 states. [2022-04-27 14:27:04,509 INFO L87 Difference]: Start difference. First operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 264 states. [2022-04-27 14:27:04,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:04,514 INFO L93 Difference]: Finished difference Result 264 states and 331 transitions. [2022-04-27 14:27:04,514 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-27 14:27:04,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:04,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:04,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:04,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:04,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 264 states, 211 states have (on average 1.3222748815165877) internal successors, (279), 212 states have internal predecessors, (279), 27 states have call successors, (27), 26 states have call predecessors, (27), 25 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 14:27:04,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 331 transitions. [2022-04-27 14:27:04,519 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 331 transitions. Word has length 108 [2022-04-27 14:27:04,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:04,519 INFO L495 AbstractCegarLoop]: Abstraction has 264 states and 331 transitions. [2022-04-27 14:27:04,519 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 5.153846153846154) internal successors, (134), 26 states have internal predecessors, (134), 24 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 23 states have call successors, (24) [2022-04-27 14:27:04,519 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-27 14:27:04,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 217 [2022-04-27 14:27:04,521 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:04,521 INFO L195 NwaCegarLoop]: trace histogram [23, 23, 22, 22, 22, 22, 22, 22, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:04,538 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 14:27:04,728 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 14:27:04,728 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:04,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:04,729 INFO L85 PathProgramCache]: Analyzing trace with hash -761959430, now seen corresponding path program 4 times [2022-04-27 14:27:04,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:04,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863170324] [2022-04-27 14:27:04,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:04,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:04,753 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:04,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1054664374] [2022-04-27 14:27:04,753 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 14:27:04,753 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:04,753 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:04,754 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-27 14:27:04,755 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-27 14:27:04,945 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 14:27:04,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 14:27:04,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 658 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-27 14:27:04,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:04,991 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:06,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {7361#true} call ULTIMATE.init(); {7361#true} is VALID [2022-04-27 14:27:06,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {7361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {7369#(<= ~counter~0 0)} assume true; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7369#(<= ~counter~0 0)} {7361#true} #77#return; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {7369#(<= ~counter~0 0)} call #t~ret7 := main(); {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {7369#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,093 INFO L272 TraceCheckUtils]: 6: Hoare triple {7369#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {7369#(<= ~counter~0 0)} ~cond := #in~cond; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {7369#(<= ~counter~0 0)} assume !(0 == ~cond); {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {7369#(<= ~counter~0 0)} assume true; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7369#(<= ~counter~0 0)} {7369#(<= ~counter~0 0)} #69#return; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {7369#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7369#(<= ~counter~0 0)} is VALID [2022-04-27 14:27:06,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {7369#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {7403#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,095 INFO L272 TraceCheckUtils]: 14: Hoare triple {7403#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {7403#(<= ~counter~0 1)} ~cond := #in~cond; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,096 INFO L290 TraceCheckUtils]: 16: Hoare triple {7403#(<= ~counter~0 1)} assume !(0 == ~cond); {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,096 INFO L290 TraceCheckUtils]: 17: Hoare triple {7403#(<= ~counter~0 1)} assume true; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,097 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7403#(<= ~counter~0 1)} {7403#(<= ~counter~0 1)} #71#return; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {7403#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {7403#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7403#(<= ~counter~0 1)} is VALID [2022-04-27 14:27:06,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {7403#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,098 INFO L290 TraceCheckUtils]: 22: Hoare triple {7431#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,098 INFO L272 TraceCheckUtils]: 23: Hoare triple {7431#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {7431#(<= ~counter~0 2)} ~cond := #in~cond; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {7431#(<= ~counter~0 2)} assume !(0 == ~cond); {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {7431#(<= ~counter~0 2)} assume true; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,101 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7431#(<= ~counter~0 2)} {7431#(<= ~counter~0 2)} #71#return; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,101 INFO L290 TraceCheckUtils]: 28: Hoare triple {7431#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,101 INFO L290 TraceCheckUtils]: 29: Hoare triple {7431#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7431#(<= ~counter~0 2)} is VALID [2022-04-27 14:27:06,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {7431#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {7459#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,102 INFO L272 TraceCheckUtils]: 32: Hoare triple {7459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,103 INFO L290 TraceCheckUtils]: 33: Hoare triple {7459#(<= ~counter~0 3)} ~cond := #in~cond; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,103 INFO L290 TraceCheckUtils]: 34: Hoare triple {7459#(<= ~counter~0 3)} assume !(0 == ~cond); {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {7459#(<= ~counter~0 3)} assume true; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,120 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7459#(<= ~counter~0 3)} {7459#(<= ~counter~0 3)} #71#return; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,120 INFO L290 TraceCheckUtils]: 37: Hoare triple {7459#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {7459#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7459#(<= ~counter~0 3)} is VALID [2022-04-27 14:27:06,121 INFO L290 TraceCheckUtils]: 39: Hoare triple {7459#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,122 INFO L290 TraceCheckUtils]: 40: Hoare triple {7487#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,122 INFO L272 TraceCheckUtils]: 41: Hoare triple {7487#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {7487#(<= ~counter~0 4)} ~cond := #in~cond; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {7487#(<= ~counter~0 4)} assume !(0 == ~cond); {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {7487#(<= ~counter~0 4)} assume true; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,123 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7487#(<= ~counter~0 4)} {7487#(<= ~counter~0 4)} #71#return; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,124 INFO L290 TraceCheckUtils]: 46: Hoare triple {7487#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,124 INFO L290 TraceCheckUtils]: 47: Hoare triple {7487#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7487#(<= ~counter~0 4)} is VALID [2022-04-27 14:27:06,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {7487#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,125 INFO L290 TraceCheckUtils]: 49: Hoare triple {7515#(<= ~counter~0 5)} assume !!(#t~post6 < 50);havoc #t~post6; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,125 INFO L272 TraceCheckUtils]: 50: Hoare triple {7515#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,125 INFO L290 TraceCheckUtils]: 51: Hoare triple {7515#(<= ~counter~0 5)} ~cond := #in~cond; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,126 INFO L290 TraceCheckUtils]: 52: Hoare triple {7515#(<= ~counter~0 5)} assume !(0 == ~cond); {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,126 INFO L290 TraceCheckUtils]: 53: Hoare triple {7515#(<= ~counter~0 5)} assume true; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,126 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7515#(<= ~counter~0 5)} {7515#(<= ~counter~0 5)} #71#return; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,127 INFO L290 TraceCheckUtils]: 55: Hoare triple {7515#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {7515#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7515#(<= ~counter~0 5)} is VALID [2022-04-27 14:27:06,127 INFO L290 TraceCheckUtils]: 57: Hoare triple {7515#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,128 INFO L290 TraceCheckUtils]: 58: Hoare triple {7543#(<= ~counter~0 6)} assume !!(#t~post6 < 50);havoc #t~post6; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,128 INFO L272 TraceCheckUtils]: 59: Hoare triple {7543#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,128 INFO L290 TraceCheckUtils]: 60: Hoare triple {7543#(<= ~counter~0 6)} ~cond := #in~cond; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,129 INFO L290 TraceCheckUtils]: 61: Hoare triple {7543#(<= ~counter~0 6)} assume !(0 == ~cond); {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,129 INFO L290 TraceCheckUtils]: 62: Hoare triple {7543#(<= ~counter~0 6)} assume true; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,129 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {7543#(<= ~counter~0 6)} {7543#(<= ~counter~0 6)} #71#return; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,130 INFO L290 TraceCheckUtils]: 64: Hoare triple {7543#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,130 INFO L290 TraceCheckUtils]: 65: Hoare triple {7543#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7543#(<= ~counter~0 6)} is VALID [2022-04-27 14:27:06,130 INFO L290 TraceCheckUtils]: 66: Hoare triple {7543#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,131 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#(<= ~counter~0 7)} assume !!(#t~post6 < 50);havoc #t~post6; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,131 INFO L272 TraceCheckUtils]: 68: Hoare triple {7571#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,131 INFO L290 TraceCheckUtils]: 69: Hoare triple {7571#(<= ~counter~0 7)} ~cond := #in~cond; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,132 INFO L290 TraceCheckUtils]: 70: Hoare triple {7571#(<= ~counter~0 7)} assume !(0 == ~cond); {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,132 INFO L290 TraceCheckUtils]: 71: Hoare triple {7571#(<= ~counter~0 7)} assume true; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,132 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7571#(<= ~counter~0 7)} {7571#(<= ~counter~0 7)} #71#return; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,133 INFO L290 TraceCheckUtils]: 73: Hoare triple {7571#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,133 INFO L290 TraceCheckUtils]: 74: Hoare triple {7571#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7571#(<= ~counter~0 7)} is VALID [2022-04-27 14:27:06,135 INFO L290 TraceCheckUtils]: 75: Hoare triple {7571#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,143 INFO L290 TraceCheckUtils]: 76: Hoare triple {7599#(<= ~counter~0 8)} assume !!(#t~post6 < 50);havoc #t~post6; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,144 INFO L272 TraceCheckUtils]: 77: Hoare triple {7599#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,144 INFO L290 TraceCheckUtils]: 78: Hoare triple {7599#(<= ~counter~0 8)} ~cond := #in~cond; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,144 INFO L290 TraceCheckUtils]: 79: Hoare triple {7599#(<= ~counter~0 8)} assume !(0 == ~cond); {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,145 INFO L290 TraceCheckUtils]: 80: Hoare triple {7599#(<= ~counter~0 8)} assume true; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,145 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7599#(<= ~counter~0 8)} {7599#(<= ~counter~0 8)} #71#return; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,146 INFO L290 TraceCheckUtils]: 82: Hoare triple {7599#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,146 INFO L290 TraceCheckUtils]: 83: Hoare triple {7599#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7599#(<= ~counter~0 8)} is VALID [2022-04-27 14:27:06,146 INFO L290 TraceCheckUtils]: 84: Hoare triple {7599#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,147 INFO L290 TraceCheckUtils]: 85: Hoare triple {7627#(<= ~counter~0 9)} assume !!(#t~post6 < 50);havoc #t~post6; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,147 INFO L272 TraceCheckUtils]: 86: Hoare triple {7627#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,148 INFO L290 TraceCheckUtils]: 87: Hoare triple {7627#(<= ~counter~0 9)} ~cond := #in~cond; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,148 INFO L290 TraceCheckUtils]: 88: Hoare triple {7627#(<= ~counter~0 9)} assume !(0 == ~cond); {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,148 INFO L290 TraceCheckUtils]: 89: Hoare triple {7627#(<= ~counter~0 9)} assume true; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,149 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7627#(<= ~counter~0 9)} {7627#(<= ~counter~0 9)} #71#return; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,149 INFO L290 TraceCheckUtils]: 91: Hoare triple {7627#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,149 INFO L290 TraceCheckUtils]: 92: Hoare triple {7627#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7627#(<= ~counter~0 9)} is VALID [2022-04-27 14:27:06,150 INFO L290 TraceCheckUtils]: 93: Hoare triple {7627#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,150 INFO L290 TraceCheckUtils]: 94: Hoare triple {7655#(<= ~counter~0 10)} assume !!(#t~post6 < 50);havoc #t~post6; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,150 INFO L272 TraceCheckUtils]: 95: Hoare triple {7655#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,151 INFO L290 TraceCheckUtils]: 96: Hoare triple {7655#(<= ~counter~0 10)} ~cond := #in~cond; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,151 INFO L290 TraceCheckUtils]: 97: Hoare triple {7655#(<= ~counter~0 10)} assume !(0 == ~cond); {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,151 INFO L290 TraceCheckUtils]: 98: Hoare triple {7655#(<= ~counter~0 10)} assume true; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,152 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7655#(<= ~counter~0 10)} {7655#(<= ~counter~0 10)} #71#return; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,152 INFO L290 TraceCheckUtils]: 100: Hoare triple {7655#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,152 INFO L290 TraceCheckUtils]: 101: Hoare triple {7655#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7655#(<= ~counter~0 10)} is VALID [2022-04-27 14:27:06,153 INFO L290 TraceCheckUtils]: 102: Hoare triple {7655#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,153 INFO L290 TraceCheckUtils]: 103: Hoare triple {7683#(<= ~counter~0 11)} assume !!(#t~post6 < 50);havoc #t~post6; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,153 INFO L272 TraceCheckUtils]: 104: Hoare triple {7683#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,154 INFO L290 TraceCheckUtils]: 105: Hoare triple {7683#(<= ~counter~0 11)} ~cond := #in~cond; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,154 INFO L290 TraceCheckUtils]: 106: Hoare triple {7683#(<= ~counter~0 11)} assume !(0 == ~cond); {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,154 INFO L290 TraceCheckUtils]: 107: Hoare triple {7683#(<= ~counter~0 11)} assume true; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,155 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {7683#(<= ~counter~0 11)} {7683#(<= ~counter~0 11)} #71#return; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,155 INFO L290 TraceCheckUtils]: 109: Hoare triple {7683#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,155 INFO L290 TraceCheckUtils]: 110: Hoare triple {7683#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7683#(<= ~counter~0 11)} is VALID [2022-04-27 14:27:06,156 INFO L290 TraceCheckUtils]: 111: Hoare triple {7683#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,156 INFO L290 TraceCheckUtils]: 112: Hoare triple {7711#(<= ~counter~0 12)} assume !!(#t~post6 < 50);havoc #t~post6; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,157 INFO L272 TraceCheckUtils]: 113: Hoare triple {7711#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,157 INFO L290 TraceCheckUtils]: 114: Hoare triple {7711#(<= ~counter~0 12)} ~cond := #in~cond; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,157 INFO L290 TraceCheckUtils]: 115: Hoare triple {7711#(<= ~counter~0 12)} assume !(0 == ~cond); {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,158 INFO L290 TraceCheckUtils]: 116: Hoare triple {7711#(<= ~counter~0 12)} assume true; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,158 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {7711#(<= ~counter~0 12)} {7711#(<= ~counter~0 12)} #71#return; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,159 INFO L290 TraceCheckUtils]: 118: Hoare triple {7711#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,159 INFO L290 TraceCheckUtils]: 119: Hoare triple {7711#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7711#(<= ~counter~0 12)} is VALID [2022-04-27 14:27:06,159 INFO L290 TraceCheckUtils]: 120: Hoare triple {7711#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,160 INFO L290 TraceCheckUtils]: 121: Hoare triple {7739#(<= ~counter~0 13)} assume !!(#t~post6 < 50);havoc #t~post6; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,160 INFO L272 TraceCheckUtils]: 122: Hoare triple {7739#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,161 INFO L290 TraceCheckUtils]: 123: Hoare triple {7739#(<= ~counter~0 13)} ~cond := #in~cond; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,161 INFO L290 TraceCheckUtils]: 124: Hoare triple {7739#(<= ~counter~0 13)} assume !(0 == ~cond); {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,161 INFO L290 TraceCheckUtils]: 125: Hoare triple {7739#(<= ~counter~0 13)} assume true; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,162 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {7739#(<= ~counter~0 13)} {7739#(<= ~counter~0 13)} #71#return; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,162 INFO L290 TraceCheckUtils]: 127: Hoare triple {7739#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,162 INFO L290 TraceCheckUtils]: 128: Hoare triple {7739#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7739#(<= ~counter~0 13)} is VALID [2022-04-27 14:27:06,163 INFO L290 TraceCheckUtils]: 129: Hoare triple {7739#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,163 INFO L290 TraceCheckUtils]: 130: Hoare triple {7767#(<= ~counter~0 14)} assume !!(#t~post6 < 50);havoc #t~post6; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,164 INFO L272 TraceCheckUtils]: 131: Hoare triple {7767#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,164 INFO L290 TraceCheckUtils]: 132: Hoare triple {7767#(<= ~counter~0 14)} ~cond := #in~cond; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,164 INFO L290 TraceCheckUtils]: 133: Hoare triple {7767#(<= ~counter~0 14)} assume !(0 == ~cond); {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,164 INFO L290 TraceCheckUtils]: 134: Hoare triple {7767#(<= ~counter~0 14)} assume true; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,165 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {7767#(<= ~counter~0 14)} {7767#(<= ~counter~0 14)} #71#return; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,165 INFO L290 TraceCheckUtils]: 136: Hoare triple {7767#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,165 INFO L290 TraceCheckUtils]: 137: Hoare triple {7767#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7767#(<= ~counter~0 14)} is VALID [2022-04-27 14:27:06,166 INFO L290 TraceCheckUtils]: 138: Hoare triple {7767#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,166 INFO L290 TraceCheckUtils]: 139: Hoare triple {7795#(<= ~counter~0 15)} assume !!(#t~post6 < 50);havoc #t~post6; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,167 INFO L272 TraceCheckUtils]: 140: Hoare triple {7795#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,167 INFO L290 TraceCheckUtils]: 141: Hoare triple {7795#(<= ~counter~0 15)} ~cond := #in~cond; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,167 INFO L290 TraceCheckUtils]: 142: Hoare triple {7795#(<= ~counter~0 15)} assume !(0 == ~cond); {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,167 INFO L290 TraceCheckUtils]: 143: Hoare triple {7795#(<= ~counter~0 15)} assume true; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,168 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {7795#(<= ~counter~0 15)} {7795#(<= ~counter~0 15)} #71#return; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,168 INFO L290 TraceCheckUtils]: 145: Hoare triple {7795#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,168 INFO L290 TraceCheckUtils]: 146: Hoare triple {7795#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7795#(<= ~counter~0 15)} is VALID [2022-04-27 14:27:06,169 INFO L290 TraceCheckUtils]: 147: Hoare triple {7795#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,169 INFO L290 TraceCheckUtils]: 148: Hoare triple {7823#(<= ~counter~0 16)} assume !!(#t~post6 < 50);havoc #t~post6; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,170 INFO L272 TraceCheckUtils]: 149: Hoare triple {7823#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,170 INFO L290 TraceCheckUtils]: 150: Hoare triple {7823#(<= ~counter~0 16)} ~cond := #in~cond; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,170 INFO L290 TraceCheckUtils]: 151: Hoare triple {7823#(<= ~counter~0 16)} assume !(0 == ~cond); {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,170 INFO L290 TraceCheckUtils]: 152: Hoare triple {7823#(<= ~counter~0 16)} assume true; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,171 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {7823#(<= ~counter~0 16)} {7823#(<= ~counter~0 16)} #71#return; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,171 INFO L290 TraceCheckUtils]: 154: Hoare triple {7823#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,171 INFO L290 TraceCheckUtils]: 155: Hoare triple {7823#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7823#(<= ~counter~0 16)} is VALID [2022-04-27 14:27:06,172 INFO L290 TraceCheckUtils]: 156: Hoare triple {7823#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,172 INFO L290 TraceCheckUtils]: 157: Hoare triple {7851#(<= ~counter~0 17)} assume !!(#t~post6 < 50);havoc #t~post6; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,173 INFO L272 TraceCheckUtils]: 158: Hoare triple {7851#(<= ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,173 INFO L290 TraceCheckUtils]: 159: Hoare triple {7851#(<= ~counter~0 17)} ~cond := #in~cond; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,173 INFO L290 TraceCheckUtils]: 160: Hoare triple {7851#(<= ~counter~0 17)} assume !(0 == ~cond); {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,173 INFO L290 TraceCheckUtils]: 161: Hoare triple {7851#(<= ~counter~0 17)} assume true; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,174 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {7851#(<= ~counter~0 17)} {7851#(<= ~counter~0 17)} #71#return; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,174 INFO L290 TraceCheckUtils]: 163: Hoare triple {7851#(<= ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,174 INFO L290 TraceCheckUtils]: 164: Hoare triple {7851#(<= ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7851#(<= ~counter~0 17)} is VALID [2022-04-27 14:27:06,180 INFO L290 TraceCheckUtils]: 165: Hoare triple {7851#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,199 INFO L290 TraceCheckUtils]: 166: Hoare triple {7879#(<= ~counter~0 18)} assume !!(#t~post6 < 50);havoc #t~post6; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,208 INFO L272 TraceCheckUtils]: 167: Hoare triple {7879#(<= ~counter~0 18)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,208 INFO L290 TraceCheckUtils]: 168: Hoare triple {7879#(<= ~counter~0 18)} ~cond := #in~cond; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,208 INFO L290 TraceCheckUtils]: 169: Hoare triple {7879#(<= ~counter~0 18)} assume !(0 == ~cond); {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,209 INFO L290 TraceCheckUtils]: 170: Hoare triple {7879#(<= ~counter~0 18)} assume true; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,209 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {7879#(<= ~counter~0 18)} {7879#(<= ~counter~0 18)} #71#return; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,209 INFO L290 TraceCheckUtils]: 172: Hoare triple {7879#(<= ~counter~0 18)} assume !!(0 != ~a~0 && 0 != ~b~0); {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,210 INFO L290 TraceCheckUtils]: 173: Hoare triple {7879#(<= ~counter~0 18)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7879#(<= ~counter~0 18)} is VALID [2022-04-27 14:27:06,210 INFO L290 TraceCheckUtils]: 174: Hoare triple {7879#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,210 INFO L290 TraceCheckUtils]: 175: Hoare triple {7907#(<= ~counter~0 19)} assume !!(#t~post6 < 50);havoc #t~post6; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,211 INFO L272 TraceCheckUtils]: 176: Hoare triple {7907#(<= ~counter~0 19)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,211 INFO L290 TraceCheckUtils]: 177: Hoare triple {7907#(<= ~counter~0 19)} ~cond := #in~cond; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,211 INFO L290 TraceCheckUtils]: 178: Hoare triple {7907#(<= ~counter~0 19)} assume !(0 == ~cond); {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,212 INFO L290 TraceCheckUtils]: 179: Hoare triple {7907#(<= ~counter~0 19)} assume true; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,212 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {7907#(<= ~counter~0 19)} {7907#(<= ~counter~0 19)} #71#return; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,212 INFO L290 TraceCheckUtils]: 181: Hoare triple {7907#(<= ~counter~0 19)} assume !!(0 != ~a~0 && 0 != ~b~0); {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,213 INFO L290 TraceCheckUtils]: 182: Hoare triple {7907#(<= ~counter~0 19)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7907#(<= ~counter~0 19)} is VALID [2022-04-27 14:27:06,213 INFO L290 TraceCheckUtils]: 183: Hoare triple {7907#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,213 INFO L290 TraceCheckUtils]: 184: Hoare triple {7935#(<= ~counter~0 20)} assume !!(#t~post6 < 50);havoc #t~post6; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,214 INFO L272 TraceCheckUtils]: 185: Hoare triple {7935#(<= ~counter~0 20)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,214 INFO L290 TraceCheckUtils]: 186: Hoare triple {7935#(<= ~counter~0 20)} ~cond := #in~cond; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,214 INFO L290 TraceCheckUtils]: 187: Hoare triple {7935#(<= ~counter~0 20)} assume !(0 == ~cond); {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,215 INFO L290 TraceCheckUtils]: 188: Hoare triple {7935#(<= ~counter~0 20)} assume true; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,215 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {7935#(<= ~counter~0 20)} {7935#(<= ~counter~0 20)} #71#return; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,215 INFO L290 TraceCheckUtils]: 190: Hoare triple {7935#(<= ~counter~0 20)} assume !!(0 != ~a~0 && 0 != ~b~0); {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,216 INFO L290 TraceCheckUtils]: 191: Hoare triple {7935#(<= ~counter~0 20)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7935#(<= ~counter~0 20)} is VALID [2022-04-27 14:27:06,216 INFO L290 TraceCheckUtils]: 192: Hoare triple {7935#(<= ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,216 INFO L290 TraceCheckUtils]: 193: Hoare triple {7963#(<= ~counter~0 21)} assume !!(#t~post6 < 50);havoc #t~post6; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,217 INFO L272 TraceCheckUtils]: 194: Hoare triple {7963#(<= ~counter~0 21)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,217 INFO L290 TraceCheckUtils]: 195: Hoare triple {7963#(<= ~counter~0 21)} ~cond := #in~cond; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,217 INFO L290 TraceCheckUtils]: 196: Hoare triple {7963#(<= ~counter~0 21)} assume !(0 == ~cond); {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,218 INFO L290 TraceCheckUtils]: 197: Hoare triple {7963#(<= ~counter~0 21)} assume true; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,218 INFO L284 TraceCheckUtils]: 198: Hoare quadruple {7963#(<= ~counter~0 21)} {7963#(<= ~counter~0 21)} #71#return; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,218 INFO L290 TraceCheckUtils]: 199: Hoare triple {7963#(<= ~counter~0 21)} assume !!(0 != ~a~0 && 0 != ~b~0); {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,219 INFO L290 TraceCheckUtils]: 200: Hoare triple {7963#(<= ~counter~0 21)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7963#(<= ~counter~0 21)} is VALID [2022-04-27 14:27:06,219 INFO L290 TraceCheckUtils]: 201: Hoare triple {7963#(<= ~counter~0 21)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,219 INFO L290 TraceCheckUtils]: 202: Hoare triple {7991#(<= ~counter~0 22)} assume !!(#t~post6 < 50);havoc #t~post6; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,220 INFO L272 TraceCheckUtils]: 203: Hoare triple {7991#(<= ~counter~0 22)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,220 INFO L290 TraceCheckUtils]: 204: Hoare triple {7991#(<= ~counter~0 22)} ~cond := #in~cond; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,220 INFO L290 TraceCheckUtils]: 205: Hoare triple {7991#(<= ~counter~0 22)} assume !(0 == ~cond); {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,220 INFO L290 TraceCheckUtils]: 206: Hoare triple {7991#(<= ~counter~0 22)} assume true; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,221 INFO L284 TraceCheckUtils]: 207: Hoare quadruple {7991#(<= ~counter~0 22)} {7991#(<= ~counter~0 22)} #71#return; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,221 INFO L290 TraceCheckUtils]: 208: Hoare triple {7991#(<= ~counter~0 22)} assume !!(0 != ~a~0 && 0 != ~b~0); {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,221 INFO L290 TraceCheckUtils]: 209: Hoare triple {7991#(<= ~counter~0 22)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7991#(<= ~counter~0 22)} is VALID [2022-04-27 14:27:06,222 INFO L290 TraceCheckUtils]: 210: Hoare triple {7991#(<= ~counter~0 22)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8019#(<= |main_#t~post6| 22)} is VALID [2022-04-27 14:27:06,222 INFO L290 TraceCheckUtils]: 211: Hoare triple {8019#(<= |main_#t~post6| 22)} assume !(#t~post6 < 50);havoc #t~post6; {7362#false} is VALID [2022-04-27 14:27:06,222 INFO L272 TraceCheckUtils]: 212: Hoare triple {7362#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7362#false} is VALID [2022-04-27 14:27:06,222 INFO L290 TraceCheckUtils]: 213: Hoare triple {7362#false} ~cond := #in~cond; {7362#false} is VALID [2022-04-27 14:27:06,222 INFO L290 TraceCheckUtils]: 214: Hoare triple {7362#false} assume 0 == ~cond; {7362#false} is VALID [2022-04-27 14:27:06,222 INFO L290 TraceCheckUtils]: 215: Hoare triple {7362#false} assume !false; {7362#false} is VALID [2022-04-27 14:27:06,224 INFO L134 CoverageAnalysis]: Checked inductivity of 2167 backedges. 44 proven. 2123 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 14:27:06,224 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:27:07,675 INFO L290 TraceCheckUtils]: 215: Hoare triple {7362#false} assume !false; {7362#false} is VALID [2022-04-27 14:27:07,675 INFO L290 TraceCheckUtils]: 214: Hoare triple {7362#false} assume 0 == ~cond; {7362#false} is VALID [2022-04-27 14:27:07,675 INFO L290 TraceCheckUtils]: 213: Hoare triple {7362#false} ~cond := #in~cond; {7362#false} is VALID [2022-04-27 14:27:07,675 INFO L272 TraceCheckUtils]: 212: Hoare triple {7362#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7362#false} is VALID [2022-04-27 14:27:07,675 INFO L290 TraceCheckUtils]: 211: Hoare triple {8047#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {7362#false} is VALID [2022-04-27 14:27:07,676 INFO L290 TraceCheckUtils]: 210: Hoare triple {8051#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8047#(< |main_#t~post6| 50)} is VALID [2022-04-27 14:27:07,676 INFO L290 TraceCheckUtils]: 209: Hoare triple {8051#(< ~counter~0 50)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8051#(< ~counter~0 50)} is VALID [2022-04-27 14:27:07,677 INFO L290 TraceCheckUtils]: 208: Hoare triple {8051#(< ~counter~0 50)} assume !!(0 != ~a~0 && 0 != ~b~0); {8051#(< ~counter~0 50)} is VALID [2022-04-27 14:27:07,677 INFO L284 TraceCheckUtils]: 207: Hoare quadruple {7361#true} {8051#(< ~counter~0 50)} #71#return; {8051#(< ~counter~0 50)} is VALID [2022-04-27 14:27:07,677 INFO L290 TraceCheckUtils]: 206: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,678 INFO L290 TraceCheckUtils]: 205: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,678 INFO L290 TraceCheckUtils]: 204: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,678 INFO L272 TraceCheckUtils]: 203: Hoare triple {8051#(< ~counter~0 50)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,678 INFO L290 TraceCheckUtils]: 202: Hoare triple {8051#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {8051#(< ~counter~0 50)} is VALID [2022-04-27 14:27:07,678 INFO L290 TraceCheckUtils]: 201: Hoare triple {8079#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8051#(< ~counter~0 50)} is VALID [2022-04-27 14:27:07,679 INFO L290 TraceCheckUtils]: 200: Hoare triple {8079#(< ~counter~0 49)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8079#(< ~counter~0 49)} is VALID [2022-04-27 14:27:07,679 INFO L290 TraceCheckUtils]: 199: Hoare triple {8079#(< ~counter~0 49)} assume !!(0 != ~a~0 && 0 != ~b~0); {8079#(< ~counter~0 49)} is VALID [2022-04-27 14:27:07,679 INFO L284 TraceCheckUtils]: 198: Hoare quadruple {7361#true} {8079#(< ~counter~0 49)} #71#return; {8079#(< ~counter~0 49)} is VALID [2022-04-27 14:27:07,680 INFO L290 TraceCheckUtils]: 197: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,680 INFO L290 TraceCheckUtils]: 196: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,680 INFO L290 TraceCheckUtils]: 195: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,680 INFO L272 TraceCheckUtils]: 194: Hoare triple {8079#(< ~counter~0 49)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,680 INFO L290 TraceCheckUtils]: 193: Hoare triple {8079#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {8079#(< ~counter~0 49)} is VALID [2022-04-27 14:27:07,680 INFO L290 TraceCheckUtils]: 192: Hoare triple {8107#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8079#(< ~counter~0 49)} is VALID [2022-04-27 14:27:07,681 INFO L290 TraceCheckUtils]: 191: Hoare triple {8107#(< ~counter~0 48)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8107#(< ~counter~0 48)} is VALID [2022-04-27 14:27:07,681 INFO L290 TraceCheckUtils]: 190: Hoare triple {8107#(< ~counter~0 48)} assume !!(0 != ~a~0 && 0 != ~b~0); {8107#(< ~counter~0 48)} is VALID [2022-04-27 14:27:07,681 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {7361#true} {8107#(< ~counter~0 48)} #71#return; {8107#(< ~counter~0 48)} is VALID [2022-04-27 14:27:07,681 INFO L290 TraceCheckUtils]: 188: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,682 INFO L290 TraceCheckUtils]: 187: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,682 INFO L290 TraceCheckUtils]: 186: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,682 INFO L272 TraceCheckUtils]: 185: Hoare triple {8107#(< ~counter~0 48)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,682 INFO L290 TraceCheckUtils]: 184: Hoare triple {8107#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {8107#(< ~counter~0 48)} is VALID [2022-04-27 14:27:07,682 INFO L290 TraceCheckUtils]: 183: Hoare triple {8135#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8107#(< ~counter~0 48)} is VALID [2022-04-27 14:27:07,683 INFO L290 TraceCheckUtils]: 182: Hoare triple {8135#(< ~counter~0 47)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8135#(< ~counter~0 47)} is VALID [2022-04-27 14:27:07,683 INFO L290 TraceCheckUtils]: 181: Hoare triple {8135#(< ~counter~0 47)} assume !!(0 != ~a~0 && 0 != ~b~0); {8135#(< ~counter~0 47)} is VALID [2022-04-27 14:27:07,683 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {7361#true} {8135#(< ~counter~0 47)} #71#return; {8135#(< ~counter~0 47)} is VALID [2022-04-27 14:27:07,683 INFO L290 TraceCheckUtils]: 179: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,683 INFO L290 TraceCheckUtils]: 178: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,684 INFO L290 TraceCheckUtils]: 177: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,684 INFO L272 TraceCheckUtils]: 176: Hoare triple {8135#(< ~counter~0 47)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,684 INFO L290 TraceCheckUtils]: 175: Hoare triple {8135#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {8135#(< ~counter~0 47)} is VALID [2022-04-27 14:27:07,684 INFO L290 TraceCheckUtils]: 174: Hoare triple {8163#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8135#(< ~counter~0 47)} is VALID [2022-04-27 14:27:07,684 INFO L290 TraceCheckUtils]: 173: Hoare triple {8163#(< ~counter~0 46)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8163#(< ~counter~0 46)} is VALID [2022-04-27 14:27:07,685 INFO L290 TraceCheckUtils]: 172: Hoare triple {8163#(< ~counter~0 46)} assume !!(0 != ~a~0 && 0 != ~b~0); {8163#(< ~counter~0 46)} is VALID [2022-04-27 14:27:07,685 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {7361#true} {8163#(< ~counter~0 46)} #71#return; {8163#(< ~counter~0 46)} is VALID [2022-04-27 14:27:07,685 INFO L290 TraceCheckUtils]: 170: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,685 INFO L290 TraceCheckUtils]: 169: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,685 INFO L290 TraceCheckUtils]: 168: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,686 INFO L272 TraceCheckUtils]: 167: Hoare triple {8163#(< ~counter~0 46)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,686 INFO L290 TraceCheckUtils]: 166: Hoare triple {8163#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {8163#(< ~counter~0 46)} is VALID [2022-04-27 14:27:07,686 INFO L290 TraceCheckUtils]: 165: Hoare triple {8191#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8163#(< ~counter~0 46)} is VALID [2022-04-27 14:27:07,686 INFO L290 TraceCheckUtils]: 164: Hoare triple {8191#(< ~counter~0 45)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8191#(< ~counter~0 45)} is VALID [2022-04-27 14:27:07,687 INFO L290 TraceCheckUtils]: 163: Hoare triple {8191#(< ~counter~0 45)} assume !!(0 != ~a~0 && 0 != ~b~0); {8191#(< ~counter~0 45)} is VALID [2022-04-27 14:27:07,687 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {7361#true} {8191#(< ~counter~0 45)} #71#return; {8191#(< ~counter~0 45)} is VALID [2022-04-27 14:27:07,687 INFO L290 TraceCheckUtils]: 161: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,687 INFO L290 TraceCheckUtils]: 160: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,687 INFO L290 TraceCheckUtils]: 159: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,687 INFO L272 TraceCheckUtils]: 158: Hoare triple {8191#(< ~counter~0 45)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,688 INFO L290 TraceCheckUtils]: 157: Hoare triple {8191#(< ~counter~0 45)} assume !!(#t~post6 < 50);havoc #t~post6; {8191#(< ~counter~0 45)} is VALID [2022-04-27 14:27:07,688 INFO L290 TraceCheckUtils]: 156: Hoare triple {8219#(< ~counter~0 44)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8191#(< ~counter~0 45)} is VALID [2022-04-27 14:27:07,688 INFO L290 TraceCheckUtils]: 155: Hoare triple {8219#(< ~counter~0 44)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8219#(< ~counter~0 44)} is VALID [2022-04-27 14:27:07,689 INFO L290 TraceCheckUtils]: 154: Hoare triple {8219#(< ~counter~0 44)} assume !!(0 != ~a~0 && 0 != ~b~0); {8219#(< ~counter~0 44)} is VALID [2022-04-27 14:27:07,689 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {7361#true} {8219#(< ~counter~0 44)} #71#return; {8219#(< ~counter~0 44)} is VALID [2022-04-27 14:27:07,689 INFO L290 TraceCheckUtils]: 152: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,689 INFO L290 TraceCheckUtils]: 151: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,689 INFO L290 TraceCheckUtils]: 150: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,689 INFO L272 TraceCheckUtils]: 149: Hoare triple {8219#(< ~counter~0 44)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,690 INFO L290 TraceCheckUtils]: 148: Hoare triple {8219#(< ~counter~0 44)} assume !!(#t~post6 < 50);havoc #t~post6; {8219#(< ~counter~0 44)} is VALID [2022-04-27 14:27:07,690 INFO L290 TraceCheckUtils]: 147: Hoare triple {8247#(< ~counter~0 43)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8219#(< ~counter~0 44)} is VALID [2022-04-27 14:27:07,691 INFO L290 TraceCheckUtils]: 146: Hoare triple {8247#(< ~counter~0 43)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8247#(< ~counter~0 43)} is VALID [2022-04-27 14:27:07,691 INFO L290 TraceCheckUtils]: 145: Hoare triple {8247#(< ~counter~0 43)} assume !!(0 != ~a~0 && 0 != ~b~0); {8247#(< ~counter~0 43)} is VALID [2022-04-27 14:27:07,691 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {7361#true} {8247#(< ~counter~0 43)} #71#return; {8247#(< ~counter~0 43)} is VALID [2022-04-27 14:27:07,692 INFO L290 TraceCheckUtils]: 143: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,692 INFO L290 TraceCheckUtils]: 142: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,692 INFO L290 TraceCheckUtils]: 141: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,692 INFO L272 TraceCheckUtils]: 140: Hoare triple {8247#(< ~counter~0 43)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,692 INFO L290 TraceCheckUtils]: 139: Hoare triple {8247#(< ~counter~0 43)} assume !!(#t~post6 < 50);havoc #t~post6; {8247#(< ~counter~0 43)} is VALID [2022-04-27 14:27:07,692 INFO L290 TraceCheckUtils]: 138: Hoare triple {8275#(< ~counter~0 42)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8247#(< ~counter~0 43)} is VALID [2022-04-27 14:27:07,693 INFO L290 TraceCheckUtils]: 137: Hoare triple {8275#(< ~counter~0 42)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8275#(< ~counter~0 42)} is VALID [2022-04-27 14:27:07,693 INFO L290 TraceCheckUtils]: 136: Hoare triple {8275#(< ~counter~0 42)} assume !!(0 != ~a~0 && 0 != ~b~0); {8275#(< ~counter~0 42)} is VALID [2022-04-27 14:27:07,693 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {7361#true} {8275#(< ~counter~0 42)} #71#return; {8275#(< ~counter~0 42)} is VALID [2022-04-27 14:27:07,693 INFO L290 TraceCheckUtils]: 134: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,694 INFO L290 TraceCheckUtils]: 133: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,694 INFO L290 TraceCheckUtils]: 132: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,694 INFO L272 TraceCheckUtils]: 131: Hoare triple {8275#(< ~counter~0 42)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,694 INFO L290 TraceCheckUtils]: 130: Hoare triple {8275#(< ~counter~0 42)} assume !!(#t~post6 < 50);havoc #t~post6; {8275#(< ~counter~0 42)} is VALID [2022-04-27 14:27:07,694 INFO L290 TraceCheckUtils]: 129: Hoare triple {8303#(< ~counter~0 41)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8275#(< ~counter~0 42)} is VALID [2022-04-27 14:27:07,695 INFO L290 TraceCheckUtils]: 128: Hoare triple {8303#(< ~counter~0 41)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8303#(< ~counter~0 41)} is VALID [2022-04-27 14:27:07,695 INFO L290 TraceCheckUtils]: 127: Hoare triple {8303#(< ~counter~0 41)} assume !!(0 != ~a~0 && 0 != ~b~0); {8303#(< ~counter~0 41)} is VALID [2022-04-27 14:27:07,695 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {7361#true} {8303#(< ~counter~0 41)} #71#return; {8303#(< ~counter~0 41)} is VALID [2022-04-27 14:27:07,695 INFO L290 TraceCheckUtils]: 125: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,695 INFO L290 TraceCheckUtils]: 124: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,695 INFO L290 TraceCheckUtils]: 123: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,696 INFO L272 TraceCheckUtils]: 122: Hoare triple {8303#(< ~counter~0 41)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,696 INFO L290 TraceCheckUtils]: 121: Hoare triple {8303#(< ~counter~0 41)} assume !!(#t~post6 < 50);havoc #t~post6; {8303#(< ~counter~0 41)} is VALID [2022-04-27 14:27:07,696 INFO L290 TraceCheckUtils]: 120: Hoare triple {8331#(< ~counter~0 40)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8303#(< ~counter~0 41)} is VALID [2022-04-27 14:27:07,696 INFO L290 TraceCheckUtils]: 119: Hoare triple {8331#(< ~counter~0 40)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8331#(< ~counter~0 40)} is VALID [2022-04-27 14:27:07,697 INFO L290 TraceCheckUtils]: 118: Hoare triple {8331#(< ~counter~0 40)} assume !!(0 != ~a~0 && 0 != ~b~0); {8331#(< ~counter~0 40)} is VALID [2022-04-27 14:27:07,697 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {7361#true} {8331#(< ~counter~0 40)} #71#return; {8331#(< ~counter~0 40)} is VALID [2022-04-27 14:27:07,697 INFO L290 TraceCheckUtils]: 116: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,697 INFO L290 TraceCheckUtils]: 115: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,697 INFO L290 TraceCheckUtils]: 114: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,697 INFO L272 TraceCheckUtils]: 113: Hoare triple {8331#(< ~counter~0 40)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,698 INFO L290 TraceCheckUtils]: 112: Hoare triple {8331#(< ~counter~0 40)} assume !!(#t~post6 < 50);havoc #t~post6; {8331#(< ~counter~0 40)} is VALID [2022-04-27 14:27:07,698 INFO L290 TraceCheckUtils]: 111: Hoare triple {8359#(< ~counter~0 39)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8331#(< ~counter~0 40)} is VALID [2022-04-27 14:27:07,707 INFO L290 TraceCheckUtils]: 110: Hoare triple {8359#(< ~counter~0 39)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8359#(< ~counter~0 39)} is VALID [2022-04-27 14:27:07,708 INFO L290 TraceCheckUtils]: 109: Hoare triple {8359#(< ~counter~0 39)} assume !!(0 != ~a~0 && 0 != ~b~0); {8359#(< ~counter~0 39)} is VALID [2022-04-27 14:27:07,708 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {7361#true} {8359#(< ~counter~0 39)} #71#return; {8359#(< ~counter~0 39)} is VALID [2022-04-27 14:27:07,708 INFO L290 TraceCheckUtils]: 107: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,709 INFO L290 TraceCheckUtils]: 106: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,709 INFO L290 TraceCheckUtils]: 105: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,709 INFO L272 TraceCheckUtils]: 104: Hoare triple {8359#(< ~counter~0 39)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,709 INFO L290 TraceCheckUtils]: 103: Hoare triple {8359#(< ~counter~0 39)} assume !!(#t~post6 < 50);havoc #t~post6; {8359#(< ~counter~0 39)} is VALID [2022-04-27 14:27:07,710 INFO L290 TraceCheckUtils]: 102: Hoare triple {8387#(< ~counter~0 38)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8359#(< ~counter~0 39)} is VALID [2022-04-27 14:27:07,710 INFO L290 TraceCheckUtils]: 101: Hoare triple {8387#(< ~counter~0 38)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8387#(< ~counter~0 38)} is VALID [2022-04-27 14:27:07,710 INFO L290 TraceCheckUtils]: 100: Hoare triple {8387#(< ~counter~0 38)} assume !!(0 != ~a~0 && 0 != ~b~0); {8387#(< ~counter~0 38)} is VALID [2022-04-27 14:27:07,711 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7361#true} {8387#(< ~counter~0 38)} #71#return; {8387#(< ~counter~0 38)} is VALID [2022-04-27 14:27:07,711 INFO L290 TraceCheckUtils]: 98: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,711 INFO L290 TraceCheckUtils]: 97: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,711 INFO L290 TraceCheckUtils]: 96: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,711 INFO L272 TraceCheckUtils]: 95: Hoare triple {8387#(< ~counter~0 38)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,711 INFO L290 TraceCheckUtils]: 94: Hoare triple {8387#(< ~counter~0 38)} assume !!(#t~post6 < 50);havoc #t~post6; {8387#(< ~counter~0 38)} is VALID [2022-04-27 14:27:07,712 INFO L290 TraceCheckUtils]: 93: Hoare triple {8415#(< ~counter~0 37)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8387#(< ~counter~0 38)} is VALID [2022-04-27 14:27:07,712 INFO L290 TraceCheckUtils]: 92: Hoare triple {8415#(< ~counter~0 37)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8415#(< ~counter~0 37)} is VALID [2022-04-27 14:27:07,712 INFO L290 TraceCheckUtils]: 91: Hoare triple {8415#(< ~counter~0 37)} assume !!(0 != ~a~0 && 0 != ~b~0); {8415#(< ~counter~0 37)} is VALID [2022-04-27 14:27:07,713 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7361#true} {8415#(< ~counter~0 37)} #71#return; {8415#(< ~counter~0 37)} is VALID [2022-04-27 14:27:07,713 INFO L290 TraceCheckUtils]: 89: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,713 INFO L290 TraceCheckUtils]: 88: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,713 INFO L290 TraceCheckUtils]: 87: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,713 INFO L272 TraceCheckUtils]: 86: Hoare triple {8415#(< ~counter~0 37)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,714 INFO L290 TraceCheckUtils]: 85: Hoare triple {8415#(< ~counter~0 37)} assume !!(#t~post6 < 50);havoc #t~post6; {8415#(< ~counter~0 37)} is VALID [2022-04-27 14:27:07,714 INFO L290 TraceCheckUtils]: 84: Hoare triple {8443#(< ~counter~0 36)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8415#(< ~counter~0 37)} is VALID [2022-04-27 14:27:07,714 INFO L290 TraceCheckUtils]: 83: Hoare triple {8443#(< ~counter~0 36)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8443#(< ~counter~0 36)} is VALID [2022-04-27 14:27:07,715 INFO L290 TraceCheckUtils]: 82: Hoare triple {8443#(< ~counter~0 36)} assume !!(0 != ~a~0 && 0 != ~b~0); {8443#(< ~counter~0 36)} is VALID [2022-04-27 14:27:07,715 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7361#true} {8443#(< ~counter~0 36)} #71#return; {8443#(< ~counter~0 36)} is VALID [2022-04-27 14:27:07,715 INFO L290 TraceCheckUtils]: 80: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,715 INFO L290 TraceCheckUtils]: 79: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,715 INFO L290 TraceCheckUtils]: 78: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,715 INFO L272 TraceCheckUtils]: 77: Hoare triple {8443#(< ~counter~0 36)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,716 INFO L290 TraceCheckUtils]: 76: Hoare triple {8443#(< ~counter~0 36)} assume !!(#t~post6 < 50);havoc #t~post6; {8443#(< ~counter~0 36)} is VALID [2022-04-27 14:27:07,716 INFO L290 TraceCheckUtils]: 75: Hoare triple {8471#(< ~counter~0 35)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8443#(< ~counter~0 36)} is VALID [2022-04-27 14:27:07,717 INFO L290 TraceCheckUtils]: 74: Hoare triple {8471#(< ~counter~0 35)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8471#(< ~counter~0 35)} is VALID [2022-04-27 14:27:07,717 INFO L290 TraceCheckUtils]: 73: Hoare triple {8471#(< ~counter~0 35)} assume !!(0 != ~a~0 && 0 != ~b~0); {8471#(< ~counter~0 35)} is VALID [2022-04-27 14:27:07,717 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7361#true} {8471#(< ~counter~0 35)} #71#return; {8471#(< ~counter~0 35)} is VALID [2022-04-27 14:27:07,717 INFO L290 TraceCheckUtils]: 71: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,718 INFO L290 TraceCheckUtils]: 70: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,718 INFO L290 TraceCheckUtils]: 69: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,718 INFO L272 TraceCheckUtils]: 68: Hoare triple {8471#(< ~counter~0 35)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,718 INFO L290 TraceCheckUtils]: 67: Hoare triple {8471#(< ~counter~0 35)} assume !!(#t~post6 < 50);havoc #t~post6; {8471#(< ~counter~0 35)} is VALID [2022-04-27 14:27:07,718 INFO L290 TraceCheckUtils]: 66: Hoare triple {8499#(< ~counter~0 34)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8471#(< ~counter~0 35)} is VALID [2022-04-27 14:27:07,719 INFO L290 TraceCheckUtils]: 65: Hoare triple {8499#(< ~counter~0 34)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8499#(< ~counter~0 34)} is VALID [2022-04-27 14:27:07,719 INFO L290 TraceCheckUtils]: 64: Hoare triple {8499#(< ~counter~0 34)} assume !!(0 != ~a~0 && 0 != ~b~0); {8499#(< ~counter~0 34)} is VALID [2022-04-27 14:27:07,719 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {7361#true} {8499#(< ~counter~0 34)} #71#return; {8499#(< ~counter~0 34)} is VALID [2022-04-27 14:27:07,719 INFO L290 TraceCheckUtils]: 62: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,719 INFO L290 TraceCheckUtils]: 61: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,720 INFO L290 TraceCheckUtils]: 60: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,720 INFO L272 TraceCheckUtils]: 59: Hoare triple {8499#(< ~counter~0 34)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,720 INFO L290 TraceCheckUtils]: 58: Hoare triple {8499#(< ~counter~0 34)} assume !!(#t~post6 < 50);havoc #t~post6; {8499#(< ~counter~0 34)} is VALID [2022-04-27 14:27:07,720 INFO L290 TraceCheckUtils]: 57: Hoare triple {8527#(< ~counter~0 33)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8499#(< ~counter~0 34)} is VALID [2022-04-27 14:27:07,720 INFO L290 TraceCheckUtils]: 56: Hoare triple {8527#(< ~counter~0 33)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8527#(< ~counter~0 33)} is VALID [2022-04-27 14:27:07,721 INFO L290 TraceCheckUtils]: 55: Hoare triple {8527#(< ~counter~0 33)} assume !!(0 != ~a~0 && 0 != ~b~0); {8527#(< ~counter~0 33)} is VALID [2022-04-27 14:27:07,721 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7361#true} {8527#(< ~counter~0 33)} #71#return; {8527#(< ~counter~0 33)} is VALID [2022-04-27 14:27:07,721 INFO L290 TraceCheckUtils]: 53: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,721 INFO L290 TraceCheckUtils]: 52: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,721 INFO L290 TraceCheckUtils]: 51: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,721 INFO L272 TraceCheckUtils]: 50: Hoare triple {8527#(< ~counter~0 33)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,722 INFO L290 TraceCheckUtils]: 49: Hoare triple {8527#(< ~counter~0 33)} assume !!(#t~post6 < 50);havoc #t~post6; {8527#(< ~counter~0 33)} is VALID [2022-04-27 14:27:07,722 INFO L290 TraceCheckUtils]: 48: Hoare triple {8555#(< ~counter~0 32)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8527#(< ~counter~0 33)} is VALID [2022-04-27 14:27:07,722 INFO L290 TraceCheckUtils]: 47: Hoare triple {8555#(< ~counter~0 32)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8555#(< ~counter~0 32)} is VALID [2022-04-27 14:27:07,723 INFO L290 TraceCheckUtils]: 46: Hoare triple {8555#(< ~counter~0 32)} assume !!(0 != ~a~0 && 0 != ~b~0); {8555#(< ~counter~0 32)} is VALID [2022-04-27 14:27:07,723 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7361#true} {8555#(< ~counter~0 32)} #71#return; {8555#(< ~counter~0 32)} is VALID [2022-04-27 14:27:07,723 INFO L290 TraceCheckUtils]: 44: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,723 INFO L272 TraceCheckUtils]: 41: Hoare triple {8555#(< ~counter~0 32)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {8555#(< ~counter~0 32)} assume !!(#t~post6 < 50);havoc #t~post6; {8555#(< ~counter~0 32)} is VALID [2022-04-27 14:27:07,724 INFO L290 TraceCheckUtils]: 39: Hoare triple {8583#(< ~counter~0 31)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8555#(< ~counter~0 32)} is VALID [2022-04-27 14:27:07,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {8583#(< ~counter~0 31)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8583#(< ~counter~0 31)} is VALID [2022-04-27 14:27:07,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {8583#(< ~counter~0 31)} assume !!(0 != ~a~0 && 0 != ~b~0); {8583#(< ~counter~0 31)} is VALID [2022-04-27 14:27:07,725 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7361#true} {8583#(< ~counter~0 31)} #71#return; {8583#(< ~counter~0 31)} is VALID [2022-04-27 14:27:07,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,725 INFO L290 TraceCheckUtils]: 34: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,725 INFO L290 TraceCheckUtils]: 33: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,725 INFO L272 TraceCheckUtils]: 32: Hoare triple {8583#(< ~counter~0 31)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,725 INFO L290 TraceCheckUtils]: 31: Hoare triple {8583#(< ~counter~0 31)} assume !!(#t~post6 < 50);havoc #t~post6; {8583#(< ~counter~0 31)} is VALID [2022-04-27 14:27:07,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {8611#(< ~counter~0 30)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8583#(< ~counter~0 31)} is VALID [2022-04-27 14:27:07,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {8611#(< ~counter~0 30)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8611#(< ~counter~0 30)} is VALID [2022-04-27 14:27:07,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {8611#(< ~counter~0 30)} assume !!(0 != ~a~0 && 0 != ~b~0); {8611#(< ~counter~0 30)} is VALID [2022-04-27 14:27:07,727 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7361#true} {8611#(< ~counter~0 30)} #71#return; {8611#(< ~counter~0 30)} is VALID [2022-04-27 14:27:07,727 INFO L290 TraceCheckUtils]: 26: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,727 INFO L290 TraceCheckUtils]: 24: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,727 INFO L272 TraceCheckUtils]: 23: Hoare triple {8611#(< ~counter~0 30)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {8611#(< ~counter~0 30)} assume !!(#t~post6 < 50);havoc #t~post6; {8611#(< ~counter~0 30)} is VALID [2022-04-27 14:27:07,728 INFO L290 TraceCheckUtils]: 21: Hoare triple {8639#(< ~counter~0 29)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8611#(< ~counter~0 30)} is VALID [2022-04-27 14:27:07,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {8639#(< ~counter~0 29)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {8639#(< ~counter~0 29)} is VALID [2022-04-27 14:27:07,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {8639#(< ~counter~0 29)} assume !!(0 != ~a~0 && 0 != ~b~0); {8639#(< ~counter~0 29)} is VALID [2022-04-27 14:27:07,729 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7361#true} {8639#(< ~counter~0 29)} #71#return; {8639#(< ~counter~0 29)} is VALID [2022-04-27 14:27:07,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,729 INFO L272 TraceCheckUtils]: 14: Hoare triple {8639#(< ~counter~0 29)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {8639#(< ~counter~0 29)} assume !!(#t~post6 < 50);havoc #t~post6; {8639#(< ~counter~0 29)} is VALID [2022-04-27 14:27:07,730 INFO L290 TraceCheckUtils]: 12: Hoare triple {8667#(< ~counter~0 28)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8639#(< ~counter~0 29)} is VALID [2022-04-27 14:27:07,730 INFO L290 TraceCheckUtils]: 11: Hoare triple {8667#(< ~counter~0 28)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,730 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7361#true} {8667#(< ~counter~0 28)} #69#return; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-27 14:27:07,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-27 14:27:07,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-27 14:27:07,730 INFO L272 TraceCheckUtils]: 6: Hoare triple {8667#(< ~counter~0 28)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7361#true} is VALID [2022-04-27 14:27:07,731 INFO L290 TraceCheckUtils]: 5: Hoare triple {8667#(< ~counter~0 28)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {8667#(< ~counter~0 28)} call #t~ret7 := main(); {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8667#(< ~counter~0 28)} {7361#true} #77#return; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {8667#(< ~counter~0 28)} assume true; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {7361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8667#(< ~counter~0 28)} is VALID [2022-04-27 14:27:07,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {7361#true} call ULTIMATE.init(); {7361#true} is VALID [2022-04-27 14:27:07,733 INFO L134 CoverageAnalysis]: Checked inductivity of 2167 backedges. 44 proven. 1199 refuted. 0 times theorem prover too weak. 924 trivial. 0 not checked. [2022-04-27 14:27:07,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:07,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863170324] [2022-04-27 14:27:07,733 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:07,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1054664374] [2022-04-27 14:27:07,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1054664374] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:27:07,733 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:27:07,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 26] total 50 [2022-04-27 14:27:07,734 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2117871823] [2022-04-27 14:27:07,734 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:27:07,735 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) Word has length 216 [2022-04-27 14:27:07,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:07,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) [2022-04-27 14:27:08,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 364 edges. 364 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:08,001 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 50 states [2022-04-27 14:27:08,001 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:08,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-04-27 14:27:08,003 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1133, Invalid=1317, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 14:27:08,003 INFO L87 Difference]: Start difference. First operand 264 states and 331 transitions. Second operand has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) [2022-04-27 14:27:10,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:10,846 INFO L93 Difference]: Finished difference Result 536 states and 699 transitions. [2022-04-27 14:27:10,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 94 states. [2022-04-27 14:27:10,847 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) Word has length 216 [2022-04-27 14:27:10,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:10,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) [2022-04-27 14:27:10,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 696 transitions. [2022-04-27 14:27:10,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) [2022-04-27 14:27:10,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 696 transitions. [2022-04-27 14:27:10,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 696 transitions. [2022-04-27 14:27:11,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 696 edges. 696 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:11,443 INFO L225 Difference]: With dead ends: 536 [2022-04-27 14:27:11,443 INFO L226 Difference]: Without dead ends: 528 [2022-04-27 14:27:11,445 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 476 GetRequests, 383 SyntacticMatches, 0 SemanticMatches, 93 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1288 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=3316, Invalid=5614, Unknown=0, NotChecked=0, Total=8930 [2022-04-27 14:27:11,449 INFO L413 NwaCegarLoop]: 75 mSDtfsCounter, 1199 mSDsluCounter, 657 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 207 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1199 SdHoareTripleChecker+Valid, 732 SdHoareTripleChecker+Invalid, 502 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 207 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:11,449 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1199 Valid, 732 Invalid, 502 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [207 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 14:27:11,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 528 states. [2022-04-27 14:27:11,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 528 to 528. [2022-04-27 14:27:11,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:11,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 528 states. Second operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 14:27:11,750 INFO L74 IsIncluded]: Start isIncluded. First operand 528 states. Second operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 14:27:11,750 INFO L87 Difference]: Start difference. First operand 528 states. Second operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 14:27:11,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:11,761 INFO L93 Difference]: Finished difference Result 528 states and 667 transitions. [2022-04-27 14:27:11,761 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-27 14:27:11,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:11,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:11,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) Second operand 528 states. [2022-04-27 14:27:11,763 INFO L87 Difference]: Start difference. First operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) Second operand 528 states. [2022-04-27 14:27:11,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:11,774 INFO L93 Difference]: Finished difference Result 528 states and 667 transitions. [2022-04-27 14:27:11,774 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-27 14:27:11,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:11,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:11,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:11,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:11,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 528 states, 427 states have (on average 1.3278688524590163) internal successors, (567), 428 states have internal predecessors, (567), 51 states have call successors, (51), 50 states have call predecessors, (51), 49 states have return successors, (49), 49 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 14:27:11,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 528 states to 528 states and 667 transitions. [2022-04-27 14:27:11,788 INFO L78 Accepts]: Start accepts. Automaton has 528 states and 667 transitions. Word has length 216 [2022-04-27 14:27:11,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:11,788 INFO L495 AbstractCegarLoop]: Abstraction has 528 states and 667 transitions. [2022-04-27 14:27:11,789 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 50 states, 50 states have (on average 5.32) internal successors, (266), 50 states have internal predecessors, (266), 48 states have call successors, (50), 26 states have call predecessors, (50), 25 states have return successors, (48), 46 states have call predecessors, (48), 47 states have call successors, (48) [2022-04-27 14:27:11,789 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-27 14:27:11,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 433 [2022-04-27 14:27:11,793 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:11,793 INFO L195 NwaCegarLoop]: trace histogram [47, 47, 46, 46, 46, 46, 46, 46, 46, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:11,818 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-27 14:27:12,018 WARN L477 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-27 14:27:12,018 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:12,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:12,019 INFO L85 PathProgramCache]: Analyzing trace with hash -2081048582, now seen corresponding path program 5 times [2022-04-27 14:27:12,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:12,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [525035210] [2022-04-27 14:27:12,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:12,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:12,076 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:12,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1067078773] [2022-04-27 14:27:12,076 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 14:27:12,076 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:12,076 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:12,077 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-27 14:27:12,077 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process