/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-e106359-m [2022-04-14 17:22:37,488 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 17:22:37,490 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 17:22:37,532 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 17:22:37,532 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 17:22:37,534 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 17:22:37,536 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 17:22:37,539 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 17:22:37,543 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 17:22:37,547 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 17:22:37,547 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 17:22:37,548 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 17:22:37,548 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 17:22:37,549 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 17:22:37,550 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 17:22:37,551 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 17:22:37,551 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 17:22:37,552 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 17:22:37,553 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 17:22:37,554 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 17:22:37,555 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 17:22:37,558 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 17:22:37,559 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 17:22:37,561 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 17:22:37,563 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 17:22:37,572 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 17:22:37,573 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 17:22:37,573 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 17:22:37,574 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 17:22:37,574 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 17:22:37,575 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 17:22:37,575 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 17:22:37,577 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 17:22:37,577 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 17:22:37,578 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 17:22:37,578 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 17:22:37,579 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 17:22:37,579 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 17:22:37,579 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 17:22:37,580 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 17:22:37,580 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 17:22:37,582 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 17:22:37,583 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-14 17:22:37,612 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 17:22:37,613 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 17:22:37,613 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 17:22:37,613 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 17:22:37,614 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 17:22:37,614 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 17:22:37,614 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 17:22:37,614 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 17:22:37,615 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 17:22:37,615 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 17:22:37,615 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 17:22:37,616 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 17:22:37,617 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 17:22:37,617 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 17:22:37,617 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 17:22:37,617 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 17:22:37,618 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 17:22:37,618 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 17:22:37,618 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 17:22:37,618 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:22:37,618 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 17:22:37,618 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 17:22:37,618 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 17:22:37,619 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 17:22:37,619 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 17:22:37,619 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 17:22:37,619 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 17:22:37,619 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 17:22:37,619 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-14 17:22:37,825 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 17:22:37,844 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 17:22:37,846 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 17:22:37,847 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 17:22:37,848 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 17:22:37,849 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-14 17:22:37,895 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/333add034/86ea3b50fce148abb9e9fa6cd5876190/FLAG60d2b30ac [2022-04-14 17:22:38,282 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 17:22:38,282 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound50.c [2022-04-14 17:22:38,287 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/333add034/86ea3b50fce148abb9e9fa6cd5876190/FLAG60d2b30ac [2022-04-14 17:22:38,302 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/333add034/86ea3b50fce148abb9e9fa6cd5876190 [2022-04-14 17:22:38,306 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 17:22:38,307 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 17:22:38,309 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 17:22:38,309 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 17:22:38,312 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 17:22:38,313 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,314 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@33383ba2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38, skipping insertion in model container [2022-04-14 17:22:38,314 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,320 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 17:22:38,332 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 17:22:38,534 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-14 17:22:38,563 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:22:38,576 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 17:22:38,589 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-14 17:22:38,614 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:22:38,624 INFO L208 MainTranslator]: Completed translation [2022-04-14 17:22:38,625 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38 WrapperNode [2022-04-14 17:22:38,625 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 17:22:38,626 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 17:22:38,626 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 17:22:38,626 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 17:22:38,641 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,641 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,655 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,656 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,669 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,673 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,674 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,675 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 17:22:38,676 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 17:22:38,676 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 17:22:38,676 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 17:22:38,679 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (1/1) ... [2022-04-14 17:22:38,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:22:38,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:22:38,704 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-14 17:22:38,715 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-14 17:22:38,738 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 17:22:38,739 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 17:22:38,739 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 17:22:38,739 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 17:22:38,739 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 17:22:38,739 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 17:22:38,740 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 17:22:38,741 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 17:22:38,791 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 17:22:38,793 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 17:22:38,955 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 17:22:38,960 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 17:22:38,961 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 17:22:38,962 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:22:38 BoogieIcfgContainer [2022-04-14 17:22:38,962 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 17:22:38,964 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 17:22:38,964 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 17:22:38,982 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 17:22:38,982 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 05:22:38" (1/3) ... [2022-04-14 17:22:38,983 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4461f515 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:22:38, skipping insertion in model container [2022-04-14 17:22:38,983 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:22:38" (2/3) ... [2022-04-14 17:22:38,983 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4461f515 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:22:38, skipping insertion in model container [2022-04-14 17:22:38,983 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:22:38" (3/3) ... [2022-04-14 17:22:38,984 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound50.c [2022-04-14 17:22:38,988 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 17:22:38,988 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 17:22:39,051 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 17:22:39,062 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-14 17:22:39,062 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 17:22:39,077 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-14 17:22:39,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-14 17:22:39,080 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:22:39,080 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:22:39,081 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:22:39,085 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:22:39,085 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 1 times [2022-04-14 17:22:39,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:22:39,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237307644] [2022-04-14 17:22:39,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:39,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:22:39,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:39,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 17:22:39,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:39,314 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-14 17:22:39,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 17:22:39,314 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-14 17:22:39,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 17:22:39,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:39,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:22:39,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:22:39,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:22:39,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-14 17:22:39,329 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-14 17:22:39,330 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-14 17:22:39,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 17:22:39,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-14 17:22:39,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-14 17:22:39,331 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-14 17:22:39,331 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-14 17:22:39,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:22:39,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:22:39,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:22:39,332 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-14 17:22:39,333 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-14 17:22:39,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-14 17:22:39,334 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-14 17:22:39,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-14 17:22:39,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-14 17:22:39,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-14 17:22:39,335 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-14 17:22:39,335 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:22:39,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237307644] [2022-04-14 17:22:39,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [237307644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:22:39,337 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:22:39,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 17:22:39,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1409870687] [2022-04-14 17:22:39,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:22:39,346 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-14 17:22:39,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:22:39,350 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-14 17:22:39,388 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-14 17:22:39,388 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 17:22:39,388 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:22:39,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 17:22:39,412 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:22:39,415 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-14 17:22:39,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:39,595 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-14 17:22:39,595 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 17:22:39,595 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-14 17:22:39,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:22:39,597 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-14 17:22:39,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-14 17:22:39,608 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-14 17:22:39,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-14 17:22:39,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-14 17:22:39,715 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-14 17:22:39,723 INFO L225 Difference]: With dead ends: 56 [2022-04-14 17:22:39,724 INFO L226 Difference]: Without dead ends: 28 [2022-04-14 17:22:39,726 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:22:39,729 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:22:39,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:22:39,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-14 17:22:39,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-14 17:22:39,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:22:39,756 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-14 17:22:39,757 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-14 17:22:39,757 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-14 17:22:39,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:39,761 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-14 17:22:39,761 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-14 17:22:39,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:39,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:39,763 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-14 17:22:39,763 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-14 17:22:39,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:39,770 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-14 17:22:39,770 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-14 17:22:39,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:39,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:39,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:22:39,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:22:39,772 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-14 17:22:39,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-14 17:22:39,775 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-14 17:22:39,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:22:39,775 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-14 17:22:39,776 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:22:39,776 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-14 17:22:39,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:22:39,777 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:22:39,777 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:22:39,777 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 17:22:39,777 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:22:39,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:22:39,778 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 1 times [2022-04-14 17:22:39,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:22:39,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [275931223] [2022-04-14 17:22:39,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:39,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:22:39,819 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:22:39,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [561638201] [2022-04-14 17:22:39,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:39,820 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:22:39,820 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:22:39,826 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-14 17:22:39,827 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-14 17:22:39,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:39,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 17:22:39,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:39,881 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:22:40,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {214#true} call ULTIMATE.init(); {214#true} is VALID [2022-04-14 17:22:40,005 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-14 17:22:40,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {222#(<= ~counter~0 0)} {214#true} #77#return; {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {222#(<= ~counter~0 0)} call #t~ret7 := main(); {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,007 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-14 17:22:40,008 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-14 17:22:40,008 INFO L290 TraceCheckUtils]: 7: Hoare triple {222#(<= ~counter~0 0)} ~cond := #in~cond; {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {222#(<= ~counter~0 0)} assume !(0 == ~cond); {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {222#(<= ~counter~0 0)} assume true; {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {222#(<= ~counter~0 0)} {222#(<= ~counter~0 0)} #69#return; {222#(<= ~counter~0 0)} is VALID [2022-04-14 17:22:40,010 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-14 17:22:40,011 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-14 17:22:40,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {256#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {215#false} is VALID [2022-04-14 17:22:40,011 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-14 17:22:40,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {215#false} ~cond := #in~cond; {215#false} is VALID [2022-04-14 17:22:40,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {215#false} assume 0 == ~cond; {215#false} is VALID [2022-04-14 17:22:40,012 INFO L290 TraceCheckUtils]: 17: Hoare triple {215#false} assume !false; {215#false} is VALID [2022-04-14 17:22:40,012 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-14 17:22:40,012 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:22:40,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:22:40,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [275931223] [2022-04-14 17:22:40,013 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:22:40,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [561638201] [2022-04-14 17:22:40,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [561638201] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:22:40,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:22:40,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 17:22:40,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1190756375] [2022-04-14 17:22:40,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:22:40,015 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-14 17:22:40,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:22:40,015 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-14 17:22:40,030 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-14 17:22:40,031 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 17:22:40,031 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:22:40,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 17:22:40,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 17:22:40,032 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-14 17:22:40,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,093 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-14 17:22:40,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 17:22:40,094 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-14 17:22:40,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:22:40,094 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-14 17:22:40,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 17:22:40,096 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-14 17:22:40,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 17:22:40,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-14 17:22:40,134 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-14 17:22:40,136 INFO L225 Difference]: With dead ends: 37 [2022-04-14 17:22:40,136 INFO L226 Difference]: Without dead ends: 29 [2022-04-14 17:22:40,137 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 17:22:40,138 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:22:40,139 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:22:40,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-14 17:22:40,149 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-14 17:22:40,149 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:22:40,150 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-14 17:22:40,151 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-14 17:22:40,152 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-14 17:22:40,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,155 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-14 17:22:40,155 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-14 17:22:40,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:40,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:40,157 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-14 17:22:40,158 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-14 17:22:40,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,161 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-14 17:22:40,161 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-14 17:22:40,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:40,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:40,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:22:40,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:22:40,162 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-14 17:22:40,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-14 17:22:40,168 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-14 17:22:40,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:22:40,168 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-14 17:22:40,168 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:22:40,168 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-14 17:22:40,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:22:40,170 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:22:40,170 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:22:40,195 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-14 17:22:40,383 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:22:40,384 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:22:40,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:22:40,384 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 1 times [2022-04-14 17:22:40,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:22:40,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984515055] [2022-04-14 17:22:40,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:40,385 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:22:40,403 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:22:40,403 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1171877685] [2022-04-14 17:22:40,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:40,403 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:22:40,403 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:22:40,404 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-14 17:22:40,438 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-14 17:22:40,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:40,450 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-14 17:22:40,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:40,459 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:22:40,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {422#true} call ULTIMATE.init(); {422#true} is VALID [2022-04-14 17:22:40,627 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-14 17:22:40,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-14 17:22:40,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {422#true} {422#true} #77#return; {422#true} is VALID [2022-04-14 17:22:40,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {422#true} call #t~ret7 := main(); {422#true} is VALID [2022-04-14 17:22:40,627 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-14 17:22:40,628 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-14 17:22:40,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {422#true} ~cond := #in~cond; {422#true} is VALID [2022-04-14 17:22:40,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {422#true} assume !(0 == ~cond); {422#true} is VALID [2022-04-14 17:22:40,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {422#true} assume true; {422#true} is VALID [2022-04-14 17:22:40,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {422#true} {422#true} #69#return; {422#true} is VALID [2022-04-14 17:22:40,631 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-14 17:22:40,632 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-14 17:22:40,632 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-14 17:22:40,635 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-14 17:22:40,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {470#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {474#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:22:40,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {474#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {423#false} is VALID [2022-04-14 17:22:40,636 INFO L290 TraceCheckUtils]: 17: Hoare triple {423#false} assume !false; {423#false} is VALID [2022-04-14 17:22:40,636 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-14 17:22:40,636 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:22:40,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:22:40,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984515055] [2022-04-14 17:22:40,637 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:22:40,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1171877685] [2022-04-14 17:22:40,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1171877685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:22:40,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:22:40,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 17:22:40,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1185683410] [2022-04-14 17:22:40,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:22:40,638 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-14 17:22:40,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:22:40,639 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-14 17:22:40,655 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-14 17:22:40,656 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:22:40,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:22:40,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:22:40,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 17:22:40,657 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-14 17:22:40,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,876 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-14 17:22:40,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:22:40,877 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-14 17:22:40,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:22:40,877 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-14 17:22:40,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-14 17:22:40,879 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-14 17:22:40,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-14 17:22:40,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-14 17:22:40,929 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-14 17:22:40,932 INFO L225 Difference]: With dead ends: 42 [2022-04-14 17:22:40,932 INFO L226 Difference]: Without dead ends: 40 [2022-04-14 17:22:40,933 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:22:40,935 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:22:40,936 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 17:22:40,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-14 17:22:40,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-14 17:22:40,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:22:40,951 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-14 17:22:40,952 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-14 17:22:40,952 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-14 17:22:40,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,954 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-14 17:22:40,954 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-14 17:22:40,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:40,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:40,955 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-14 17:22:40,956 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-14 17:22:40,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:22:40,957 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-14 17:22:40,958 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-14 17:22:40,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:22:40,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:22:40,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:22:40,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:22:40,959 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-14 17:22:40,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-14 17:22:40,960 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-14 17:22:40,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:22:40,960 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-14 17:22:40,961 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:22:40,961 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-14 17:22:40,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-14 17:22:40,961 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:22:40,961 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:22:40,986 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-14 17:22:41,175 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-14 17:22:41,176 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:22:41,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:22:41,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 1 times [2022-04-14 17:22:41,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:22:41,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931398052] [2022-04-14 17:22:41,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:41,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:22:41,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:22:41,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1440818672] [2022-04-14 17:22:41,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:22:41,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:22:41,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:22:41,193 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-14 17:22:41,197 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-14 17:22:41,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:41,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-14 17:22:41,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:22:41,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:22:49,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-14 17:22:49,759 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-14 17:22:49,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-14 17:22:49,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-14 17:22:49,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-14 17:22:49,760 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-14 17:22:49,760 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-14 17:22:49,761 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-14 17:22:49,761 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-14 17:22:49,762 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-14 17:22:49,762 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-14 17:22:49,763 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-14 17:22:49,764 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-14 17:22:49,764 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-14 17:22:49,764 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-14 17:22:49,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} ~cond := #in~cond; {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:22:49,765 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-14 17:22:49,766 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-14 17:22:51,776 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-14 17:22:51,778 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-14 17:22:51,779 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-14 17:22:51,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:22:51,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-14 17:22:51,780 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-14 17:22:51,780 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-14 17:22:51,780 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:23:32,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-14 17:23:32,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {669#false} is VALID [2022-04-14 17:23:32,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:23:32,859 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-14 17:23:32,860 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-14 17:23:32,862 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-14 17:23:32,862 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-14 17:23:32,863 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-14 17:23:32,863 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-14 17:23:32,864 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-14 17:23:32,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} assume !!(#t~post6 < 50);havoc #t~post6; {668#true} is VALID [2022-04-14 17:23:32,864 INFO L290 TraceCheckUtils]: 12: Hoare triple {668#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {668#true} is VALID [2022-04-14 17:23:32,864 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-14 17:23:32,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {668#true} {668#true} #69#return; {668#true} is VALID [2022-04-14 17:23:32,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-14 17:23:32,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-14 17:23:32,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-14 17:23:32,865 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-14 17:23:32,865 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-14 17:23:32,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret7 := main(); {668#true} is VALID [2022-04-14 17:23:32,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #77#return; {668#true} is VALID [2022-04-14 17:23:32,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-14 17:23:32,866 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-14 17:23:32,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-14 17:23:32,866 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-14 17:23:32,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:23:32,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931398052] [2022-04-14 17:23:32,867 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:23:32,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1440818672] [2022-04-14 17:23:32,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1440818672] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:23:32,868 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:23:32,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-14 17:23:32,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [403227534] [2022-04-14 17:23:32,868 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:23:32,868 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-14 17:23:32,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:23:32,869 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-14 17:23:34,897 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-14 17:23:34,897 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-14 17:23:34,897 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:23:34,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-14 17:23:34,898 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-14 17:23:34,898 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-14 17:23:39,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:39,621 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2022-04-14 17:23:39,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-14 17:23:39,621 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-14 17:23:39,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:23:39,621 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-14 17:23:39,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-14 17:23:39,624 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-14 17:23:39,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-14 17:23:39,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2022-04-14 17:23:41,689 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-14 17:23:41,691 INFO L225 Difference]: With dead ends: 55 [2022-04-14 17:23:41,692 INFO L226 Difference]: Without dead ends: 53 [2022-04-14 17:23:41,692 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-14 17:23:41,693 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 51 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-14 17:23:41,693 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 123 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-14 17:23:41,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-14 17:23:41,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-14 17:23:41,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:23:41,709 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-14 17:23:41,709 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-14 17:23:41,709 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-14 17:23:41,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:41,712 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-14 17:23:41,712 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-14 17:23:41,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:23:41,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:23:41,713 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-14 17:23:41,714 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-14 17:23:41,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:41,716 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-14 17:23:41,716 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-14 17:23:41,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:23:41,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:23:41,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:23:41,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:23:41,717 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-14 17:23:41,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-14 17:23:41,719 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 24 [2022-04-14 17:23:41,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:23:41,719 INFO L478 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-14 17:23:41,719 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:23:41,719 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-14 17:23:41,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-14 17:23:41,720 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:23:41,720 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:23:41,745 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-14 17:23:41,942 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:23:41,943 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:23:41,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:23:41,943 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 1 times [2022-04-14 17:23:41,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:23:41,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1790870649] [2022-04-14 17:23:41,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:23:41,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:23:41,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:23:41,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1873532129] [2022-04-14 17:23:41,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:23:41,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:23:41,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:23:41,969 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-14 17:23:41,971 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-14 17:23:42,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:23:42,011 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:23:42,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:23:42,020 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:23:42,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-14 17:23:42,146 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-14 17:23:42,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1085#(<= ~counter~0 0)} {1077#true} #77#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,147 INFO L272 TraceCheckUtils]: 4: Hoare triple {1085#(<= ~counter~0 0)} call #t~ret7 := main(); {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,147 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-14 17:23:42,148 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-14 17:23:42,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {1085#(<= ~counter~0 0)} ~cond := #in~cond; {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {1085#(<= ~counter~0 0)} assume !(0 == ~cond); {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {1085#(<= ~counter~0 0)} assume true; {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1085#(<= ~counter~0 0)} {1085#(<= ~counter~0 0)} #69#return; {1085#(<= ~counter~0 0)} is VALID [2022-04-14 17:23:42,150 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-14 17:23:42,151 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-14 17:23:42,151 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-14 17:23:42,152 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-14 17:23:42,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {1119#(<= ~counter~0 1)} ~cond := #in~cond; {1119#(<= ~counter~0 1)} is VALID [2022-04-14 17:23:42,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {1119#(<= ~counter~0 1)} assume !(0 == ~cond); {1119#(<= ~counter~0 1)} is VALID [2022-04-14 17:23:42,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {1119#(<= ~counter~0 1)} assume true; {1119#(<= ~counter~0 1)} is VALID [2022-04-14 17:23:42,155 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1119#(<= ~counter~0 1)} {1119#(<= ~counter~0 1)} #71#return; {1119#(<= ~counter~0 1)} is VALID [2022-04-14 17:23:42,155 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-14 17:23:42,156 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-14 17:23:42,156 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-14 17:23:42,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {1147#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {1078#false} is VALID [2022-04-14 17:23:42,157 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-14 17:23:42,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-14 17:23:42,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-14 17:23:42,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-14 17:23:42,157 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-14 17:23:42,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:23:42,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-14 17:23:42,311 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-14 17:23:42,311 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-14 17:23:42,311 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-14 17:23:42,311 INFO L290 TraceCheckUtils]: 22: Hoare triple {1175#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {1078#false} is VALID [2022-04-14 17:23:42,312 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-14 17:23:42,312 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-14 17:23:42,313 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-14 17:23:42,314 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1077#true} {1179#(< ~counter~0 50)} #71#return; {1179#(< ~counter~0 50)} is VALID [2022-04-14 17:23:42,314 INFO L290 TraceCheckUtils]: 17: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-14 17:23:42,314 INFO L290 TraceCheckUtils]: 16: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-14 17:23:42,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-14 17:23:42,314 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-14 17:23:42,315 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-14 17:23:42,315 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-14 17:23:42,316 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-14 17:23:42,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1077#true} {1207#(< ~counter~0 49)} #69#return; {1207#(< ~counter~0 49)} is VALID [2022-04-14 17:23:42,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-14 17:23:42,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} assume !(0 == ~cond); {1077#true} is VALID [2022-04-14 17:23:42,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {1077#true} ~cond := #in~cond; {1077#true} is VALID [2022-04-14 17:23:42,317 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-14 17:23:42,317 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-14 17:23:42,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {1207#(< ~counter~0 49)} call #t~ret7 := main(); {1207#(< ~counter~0 49)} is VALID [2022-04-14 17:23:42,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1207#(< ~counter~0 49)} {1077#true} #77#return; {1207#(< ~counter~0 49)} is VALID [2022-04-14 17:23:42,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {1207#(< ~counter~0 49)} assume true; {1207#(< ~counter~0 49)} is VALID [2022-04-14 17:23:42,319 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-14 17:23:42,319 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-14 17:23:42,319 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-14 17:23:42,319 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:23:42,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1790870649] [2022-04-14 17:23:42,320 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:23:42,320 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1873532129] [2022-04-14 17:23:42,320 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1873532129] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:23:42,320 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:23:42,320 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 17:23:42,320 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322340145] [2022-04-14 17:23:42,320 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:23:42,321 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-14 17:23:42,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:23:42,322 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-14 17:23:42,366 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-14 17:23:42,366 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 17:23:42,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:23:42,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 17:23:42,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:23:42,367 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-14 17:23:42,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:42,641 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2022-04-14 17:23:42,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 17:23:42,642 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-14 17:23:42,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:23:42,644 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-14 17:23:42,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-14 17:23:42,656 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-14 17:23:42,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-14 17:23:42,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 106 transitions. [2022-04-14 17:23:42,747 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-14 17:23:42,749 INFO L225 Difference]: With dead ends: 103 [2022-04-14 17:23:42,749 INFO L226 Difference]: Without dead ends: 93 [2022-04-14 17:23:42,750 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-14 17:23:42,751 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 55 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:23:42,751 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 182 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:23:42,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-14 17:23:42,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-04-14 17:23:42,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:23:42,791 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-14 17:23:42,792 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-14 17:23:42,792 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-14 17:23:42,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:42,796 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-14 17:23:42,796 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-14 17:23:42,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:23:42,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:23:42,797 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-14 17:23:42,797 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-14 17:23:42,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:23:42,801 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-14 17:23:42,801 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-14 17:23:42,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:23:42,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:23:42,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:23:42,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:23:42,802 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-14 17:23:42,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2022-04-14 17:23:42,805 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 27 [2022-04-14 17:23:42,805 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:23:42,805 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2022-04-14 17:23:42,805 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:23:42,806 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2022-04-14 17:23:42,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-14 17:23:42,806 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:23:42,806 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:23:42,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-14 17:23:43,023 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:23:43,023 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:23:43,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:23:43,024 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 1 times [2022-04-14 17:23:43,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:23:43,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608549455] [2022-04-14 17:23:43,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:23:43,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:23:43,050 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:23:43,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1356218368] [2022-04-14 17:23:43,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:23:43,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:23:43,051 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:23:43,060 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-14 17:23:43,063 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-14 17:23:43,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:23:43,108 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-14 17:23:43,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:23:43,120 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:23:46,731 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-14 17:23:46,731 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-14 17:23:46,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-14 17:23:46,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-14 17:23:46,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-14 17:23:46,731 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-14 17:23:46,732 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-14 17:23:46,732 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-14 17:23:46,732 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-14 17:23:46,733 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-14 17:23:46,733 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-14 17:23:46,734 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-14 17:23:46,735 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-14 17:23:46,735 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-14 17:23:46,735 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-14 17:23:46,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} ~cond := #in~cond; {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:23:46,736 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-14 17:23:46,736 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-14 17:23:46,737 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-14 17:23:46,738 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-14 17:23:46,739 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-14 17:23:46,740 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-14 17:23:46,740 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-14 17:23:46,743 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-14 17:23:46,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:23:46,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-14 17:23:46,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-14 17:23:46,744 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-14 17:23:46,744 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:01,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} assume !false; {1698#false} is VALID [2022-04-14 17:25:01,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1698#false} is VALID [2022-04-14 17:25:01,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:01,554 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-14 17:25:01,554 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-14 17:25:01,555 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-14 17:25:01,560 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-14 17:25:01,560 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-14 17:25:01,569 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-14 17:25:01,569 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-14 17:25:01,570 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-14 17:25:01,575 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-14 17:25:01,575 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-14 17:25:01,575 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-14 17:25:01,576 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-14 17:25:01,577 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-14 17:25:01,578 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-14 17:25:01,578 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-14 17:25:01,579 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-14 17:25:01,579 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-14 17:25:01,579 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-14 17:25:01,579 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-14 17:25:01,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} call #t~ret7 := main(); {1697#true} is VALID [2022-04-14 17:25:01,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} #77#return; {1697#true} is VALID [2022-04-14 17:25:01,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} assume true; {1697#true} is VALID [2022-04-14 17:25:01,580 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-14 17:25:01,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} call ULTIMATE.init(); {1697#true} is VALID [2022-04-14 17:25:01,580 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-14 17:25:01,580 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:01,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1608549455] [2022-04-14 17:25:01,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:01,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1356218368] [2022-04-14 17:25:01,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1356218368] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:01,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:01,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 17 [2022-04-14 17:25:01,581 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [703592841] [2022-04-14 17:25:01,581 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:01,582 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-14 17:25:01,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:01,582 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-14 17:25:01,642 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-14 17:25:01,642 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-14 17:25:01,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:01,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-14 17:25:01,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=223, Unknown=0, NotChecked=0, Total=272 [2022-04-14 17:25:01,643 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-14 17:25:05,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:05,592 INFO L93 Difference]: Finished difference Result 127 states and 164 transitions. [2022-04-14 17:25:05,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-14 17:25:05,593 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-14 17:25:05,594 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:05,594 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-14 17:25:05,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-14 17:25:05,597 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-14 17:25:05,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-14 17:25:05,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 83 transitions. [2022-04-14 17:25:05,791 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-14 17:25:05,793 INFO L225 Difference]: With dead ends: 127 [2022-04-14 17:25:05,793 INFO L226 Difference]: Without dead ends: 121 [2022-04-14 17:25:05,794 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-14 17:25:05,796 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 99 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:05,797 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [102 Valid, 144 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-14 17:25:05,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-14 17:25:05,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 79. [2022-04-14 17:25:05,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:05,839 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-14 17:25:05,839 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-14 17:25:05,839 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-14 17:25:05,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:05,843 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-14 17:25:05,844 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-14 17:25:05,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:05,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:05,844 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-14 17:25:05,845 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-14 17:25:05,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:05,849 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-14 17:25:05,849 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-14 17:25:05,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:05,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:05,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:05,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:05,850 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-14 17:25:05,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2022-04-14 17:25:05,852 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 27 [2022-04-14 17:25:05,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:05,852 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2022-04-14 17:25:05,852 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:05,853 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2022-04-14 17:25:05,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 17:25:05,853 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:05,853 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:05,874 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-14 17:25:06,068 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:06,068 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:06,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:06,069 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 1 times [2022-04-14 17:25:06,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:06,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [81982182] [2022-04-14 17:25:06,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:06,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:06,085 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:06,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1249199835] [2022-04-14 17:25:06,085 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:06,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:06,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:06,086 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-14 17:25:06,089 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-14 17:25:06,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:06,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 17:25:06,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:06,131 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:06,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {2407#true} call ULTIMATE.init(); {2407#true} is VALID [2022-04-14 17:25:06,292 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-14 17:25:06,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-14 17:25:06,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2407#true} {2407#true} #77#return; {2407#true} is VALID [2022-04-14 17:25:06,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {2407#true} call #t~ret7 := main(); {2407#true} is VALID [2022-04-14 17:25:06,292 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-14 17:25:06,292 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-14 17:25:06,299 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-14 17:25:06,299 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-14 17:25:06,303 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-14 17:25:06,304 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-14 17:25:06,304 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-14 17:25:06,311 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-14 17:25:06,312 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-14 17:25:06,312 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-14 17:25:06,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-14 17:25:06,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-14 17:25:06,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-14 17:25:06,313 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2407#true} {2448#(<= 1 main_~b~0)} #71#return; {2448#(<= 1 main_~b~0)} is VALID [2022-04-14 17:25:06,313 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-14 17:25:06,313 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-14 17:25:06,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {2407#true} ~cond := #in~cond; {2407#true} is VALID [2022-04-14 17:25:06,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {2407#true} assume !(0 == ~cond); {2407#true} is VALID [2022-04-14 17:25:06,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {2407#true} assume true; {2407#true} is VALID [2022-04-14 17:25:06,314 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-14 17:25:06,315 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-14 17:25:06,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2496#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:06,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {2496#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2408#false} is VALID [2022-04-14 17:25:06,322 INFO L290 TraceCheckUtils]: 28: Hoare triple {2408#false} assume !false; {2408#false} is VALID [2022-04-14 17:25:06,322 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-14 17:25:06,322 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:06,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:06,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [81982182] [2022-04-14 17:25:06,323 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:06,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1249199835] [2022-04-14 17:25:06,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1249199835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:06,323 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:06,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-14 17:25:06,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086695258] [2022-04-14 17:25:06,324 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:06,324 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-14 17:25:06,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:06,324 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-14 17:25:06,342 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-14 17:25:06,342 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-14 17:25:06,342 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:06,343 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-14 17:25:06,343 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-14 17:25:06,344 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-14 17:25:06,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:06,755 INFO L93 Difference]: Finished difference Result 116 states and 151 transitions. [2022-04-14 17:25:06,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-14 17:25:06,756 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-14 17:25:06,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:06,756 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-14 17:25:06,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-14 17:25:06,757 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-14 17:25:06,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-14 17:25:06,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-14 17:25:06,809 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-14 17:25:06,811 INFO L225 Difference]: With dead ends: 116 [2022-04-14 17:25:06,811 INFO L226 Difference]: Without dead ends: 104 [2022-04-14 17:25:06,811 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-14 17:25:06,812 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:06,812 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 141 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 17:25:06,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-14 17:25:06,883 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 99. [2022-04-14 17:25:06,883 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:06,883 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-14 17:25:06,884 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-14 17:25:06,884 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-14 17:25:06,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:06,887 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-14 17:25:06,887 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-14 17:25:06,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:06,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:06,888 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-14 17:25:06,889 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-14 17:25:06,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:06,904 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-14 17:25:06,904 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-14 17:25:06,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:06,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:06,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:06,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:06,905 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-14 17:25:06,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 125 transitions. [2022-04-14 17:25:06,908 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 125 transitions. Word has length 29 [2022-04-14 17:25:06,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:06,909 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 125 transitions. [2022-04-14 17:25:06,909 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 17:25:06,909 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 125 transitions. [2022-04-14 17:25:06,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-14 17:25:06,911 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:06,911 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:06,934 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-14 17:25:07,124 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:07,124 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:07,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:07,125 INFO L85 PathProgramCache]: Analyzing trace with hash 1524039145, now seen corresponding path program 1 times [2022-04-14 17:25:07,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:07,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1630662883] [2022-04-14 17:25:07,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:07,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:07,139 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:07,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2130484035] [2022-04-14 17:25:07,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:07,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:07,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:07,140 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-14 17:25:07,142 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-14 17:25:07,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:07,186 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 17:25:07,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:07,195 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:07,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {3011#true} call ULTIMATE.init(); {3011#true} is VALID [2022-04-14 17:25:07,323 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-14 17:25:07,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-14 17:25:07,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3011#true} {3011#true} #77#return; {3011#true} is VALID [2022-04-14 17:25:07,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {3011#true} call #t~ret7 := main(); {3011#true} is VALID [2022-04-14 17:25:07,324 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-14 17:25:07,324 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-14 17:25:07,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-14 17:25:07,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-14 17:25:07,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-14 17:25:07,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3011#true} {3011#true} #69#return; {3011#true} is VALID [2022-04-14 17:25:07,325 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-14 17:25:07,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {3011#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3011#true} is VALID [2022-04-14 17:25:07,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {3011#true} assume !!(#t~post6 < 50);havoc #t~post6; {3011#true} is VALID [2022-04-14 17:25:07,325 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-14 17:25:07,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-14 17:25:07,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-14 17:25:07,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-14 17:25:07,325 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3011#true} {3011#true} #71#return; {3011#true} is VALID [2022-04-14 17:25:07,327 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-14 17:25:07,328 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-14 17:25:07,328 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-14 17:25:07,329 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-14 17:25:07,329 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-14 17:25:07,329 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-14 17:25:07,330 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-14 17:25:07,330 INFO L290 TraceCheckUtils]: 26: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-14 17:25:07,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-14 17:25:07,330 INFO L290 TraceCheckUtils]: 28: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-14 17:25:07,331 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-14 17:25:07,331 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-14 17:25:07,331 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-14 17:25:07,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {3011#true} ~cond := #in~cond; {3011#true} is VALID [2022-04-14 17:25:07,331 INFO L290 TraceCheckUtils]: 33: Hoare triple {3011#true} assume !(0 == ~cond); {3011#true} is VALID [2022-04-14 17:25:07,332 INFO L290 TraceCheckUtils]: 34: Hoare triple {3011#true} assume true; {3011#true} is VALID [2022-04-14 17:25:07,332 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-14 17:25:07,333 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-14 17:25:07,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:07,334 INFO L290 TraceCheckUtils]: 38: Hoare triple {3130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3012#false} is VALID [2022-04-14 17:25:07,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {3012#false} assume !false; {3012#false} is VALID [2022-04-14 17:25:07,334 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-14 17:25:07,334 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:07,334 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:07,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1630662883] [2022-04-14 17:25:07,334 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:07,335 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2130484035] [2022-04-14 17:25:07,335 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2130484035] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:07,335 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:07,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 17:25:07,335 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1536137328] [2022-04-14 17:25:07,335 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:07,336 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-14 17:25:07,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:07,337 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-14 17:25:07,360 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-14 17:25:07,360 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 17:25:07,360 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:07,361 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 17:25:07,361 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:25:07,361 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-14 17:25:07,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:07,640 INFO L93 Difference]: Finished difference Result 141 states and 180 transitions. [2022-04-14 17:25:07,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 17:25:07,640 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-14 17:25:07,641 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:07,641 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-14 17:25:07,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-14 17:25:07,642 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-14 17:25:07,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-14 17:25:07,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-14 17:25:07,685 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-14 17:25:07,688 INFO L225 Difference]: With dead ends: 141 [2022-04-14 17:25:07,688 INFO L226 Difference]: Without dead ends: 129 [2022-04-14 17:25:07,688 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-14 17:25:07,689 INFO L913 BasicCegarLoop]: 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-14 17:25:07,689 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:25:07,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-14 17:25:07,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 113. [2022-04-14 17:25:07,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:07,764 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-14 17:25:07,764 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-14 17:25:07,764 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-14 17:25:07,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:07,768 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-14 17:25:07,769 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-14 17:25:07,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:07,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:07,769 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-14 17:25:07,770 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-14 17:25:07,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:07,774 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-14 17:25:07,774 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-14 17:25:07,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:07,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:07,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:07,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:07,775 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-14 17:25:07,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 143 transitions. [2022-04-14 17:25:07,778 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 143 transitions. Word has length 40 [2022-04-14 17:25:07,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:07,779 INFO L478 AbstractCegarLoop]: Abstraction has 113 states and 143 transitions. [2022-04-14 17:25:07,779 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:07,779 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 143 transitions. [2022-04-14 17:25:07,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-14 17:25:07,779 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:07,780 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:07,801 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-14 17:25:07,993 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:07,993 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:07,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:07,994 INFO L85 PathProgramCache]: Analyzing trace with hash -470105561, now seen corresponding path program 1 times [2022-04-14 17:25:07,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:07,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1709508566] [2022-04-14 17:25:07,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:07,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:08,011 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:08,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1535566294] [2022-04-14 17:25:08,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:08,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:08,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:08,015 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-14 17:25:08,016 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-14 17:25:08,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:08,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-14 17:25:08,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:08,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:08,318 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 17:25:08,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-14 17:25:08,358 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-14 17:25:08,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,359 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-14 17:25:08,359 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-14 17:25:08,359 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-14 17:25:08,359 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-14 17:25:08,359 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-14 17:25:08,360 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-14 17:25:08,360 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-14 17:25:08,361 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-14 17:25:08,361 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-14 17:25:08,362 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-14 17:25:08,362 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-14 17:25:08,362 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-14 17:25:08,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,362 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,363 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3790#(<= 1 main_~b~0)} #71#return; {3790#(<= 1 main_~b~0)} is VALID [2022-04-14 17:25:08,364 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-14 17:25:08,364 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-14 17:25:08,364 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-14 17:25:08,365 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-14 17:25:08,366 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-14 17:25:08,366 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-14 17:25:08,366 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-14 17:25:08,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,367 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,367 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3824#(<= 0 main_~b~0)} #71#return; {3824#(<= 0 main_~b~0)} is VALID [2022-04-14 17:25:08,368 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-14 17:25:08,368 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-14 17:25:08,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,368 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,369 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-14 17:25:08,371 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-14 17:25:08,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:08,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-14 17:25:08,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-14 17:25:08,372 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-14 17:25:08,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:08,621 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} assume !false; {3750#false} is VALID [2022-04-14 17:25:08,621 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3750#false} is VALID [2022-04-14 17:25:08,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:08,622 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-14 17:25:08,624 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-14 17:25:08,624 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,624 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,624 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,624 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-14 17:25:08,625 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-14 17:25:08,626 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-14 17:25:08,626 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,626 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,626 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-14 17:25:08,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {3749#true} assume !!(#t~post6 < 50);havoc #t~post6; {3749#true} is VALID [2022-04-14 17:25:08,626 INFO L290 TraceCheckUtils]: 23: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-14 17:25:08,626 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-14 17:25:08,626 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-14 17:25:08,626 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-14 17:25:08,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {3749#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3749#true} is VALID [2022-04-14 17:25:08,627 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3749#true} #71#return; {3749#true} is VALID [2022-04-14 17:25:08,627 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,629 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-14 17:25:08,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {3749#true} assume !!(#t~post6 < 50);havoc #t~post6; {3749#true} is VALID [2022-04-14 17:25:08,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {3749#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3749#true} is VALID [2022-04-14 17:25:08,630 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-14 17:25:08,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3749#true} {3749#true} #69#return; {3749#true} is VALID [2022-04-14 17:25:08,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {3749#true} assume !(0 == ~cond); {3749#true} is VALID [2022-04-14 17:25:08,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} ~cond := #in~cond; {3749#true} is VALID [2022-04-14 17:25:08,631 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-14 17:25:08,631 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-14 17:25:08,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} call #t~ret7 := main(); {3749#true} is VALID [2022-04-14 17:25:08,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} #77#return; {3749#true} is VALID [2022-04-14 17:25:08,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} assume true; {3749#true} is VALID [2022-04-14 17:25:08,632 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-14 17:25:08,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} call ULTIMATE.init(); {3749#true} is VALID [2022-04-14 17:25:08,632 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-14 17:25:08,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:08,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1709508566] [2022-04-14 17:25:08,633 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:08,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1535566294] [2022-04-14 17:25:08,633 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1535566294] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-14 17:25:08,633 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-14 17:25:08,633 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-14 17:25:08,635 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1246701804] [2022-04-14 17:25:08,635 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:08,636 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-14 17:25:08,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:08,636 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-14 17:25:08,661 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-14 17:25:08,661 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:25:08,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:08,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:25:08,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-14 17:25:08,662 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-14 17:25:09,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:09,018 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-04-14 17:25:09,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:25:09,019 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-14 17:25:09,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:09,019 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-14 17:25:09,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-14 17:25:09,020 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-14 17:25:09,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-14 17:25:09,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-14 17:25:09,053 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-14 17:25:09,054 INFO L225 Difference]: With dead ends: 120 [2022-04-14 17:25:09,055 INFO L226 Difference]: Without dead ends: 100 [2022-04-14 17:25:09,055 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-14 17:25:09,056 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:09,056 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 17:25:09,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-14 17:25:09,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 66. [2022-04-14 17:25:09,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:09,095 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-14 17:25:09,095 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-14 17:25:09,095 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-14 17:25:09,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:09,098 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-14 17:25:09,098 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-14 17:25:09,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:09,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:09,099 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-14 17:25:09,099 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-14 17:25:09,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:09,102 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-14 17:25:09,102 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-14 17:25:09,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:09,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:09,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:09,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:09,103 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-14 17:25:09,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-14 17:25:09,105 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 40 [2022-04-14 17:25:09,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:09,105 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-14 17:25:09,106 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:25:09,106 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-14 17:25:09,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-14 17:25:09,106 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:09,106 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:09,126 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-14 17:25:09,319 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-14 17:25:09,319 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:09,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:09,320 INFO L85 PathProgramCache]: Analyzing trace with hash -1818717446, now seen corresponding path program 2 times [2022-04-14 17:25:09,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:09,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2111019420] [2022-04-14 17:25:09,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:09,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:09,333 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:09,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2026509360] [2022-04-14 17:25:09,333 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:25:09,334 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:09,334 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:09,335 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-14 17:25:09,360 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-14 17:25:09,393 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:25:09,394 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:25:09,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:25:09,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:09,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:09,664 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-14 17:25:09,664 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-14 17:25:09,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4461#(<= ~counter~0 0)} {4453#true} #77#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {4461#(<= ~counter~0 0)} call #t~ret7 := main(); {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,667 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-14 17:25:09,672 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-14 17:25:09,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {4461#(<= ~counter~0 0)} ~cond := #in~cond; {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {4461#(<= ~counter~0 0)} assume !(0 == ~cond); {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {4461#(<= ~counter~0 0)} assume true; {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,676 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4461#(<= ~counter~0 0)} {4461#(<= ~counter~0 0)} #69#return; {4461#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:09,676 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-14 17:25:09,677 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-14 17:25:09,678 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-14 17:25:09,678 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-14 17:25:09,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {4495#(<= ~counter~0 1)} ~cond := #in~cond; {4495#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:09,679 INFO L290 TraceCheckUtils]: 16: Hoare triple {4495#(<= ~counter~0 1)} assume !(0 == ~cond); {4495#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:09,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {4495#(<= ~counter~0 1)} assume true; {4495#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:09,683 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4495#(<= ~counter~0 1)} {4495#(<= ~counter~0 1)} #71#return; {4495#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:09,684 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-14 17:25:09,684 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-14 17:25:09,684 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-14 17:25:09,685 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-14 17:25:09,686 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-14 17:25:09,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {4523#(<= ~counter~0 2)} ~cond := #in~cond; {4523#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:09,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {4523#(<= ~counter~0 2)} assume !(0 == ~cond); {4523#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:09,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {4523#(<= ~counter~0 2)} assume true; {4523#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:09,689 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4523#(<= ~counter~0 2)} {4523#(<= ~counter~0 2)} #71#return; {4523#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:09,689 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-14 17:25:09,689 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-14 17:25:09,690 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-14 17:25:09,690 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-14 17:25:09,691 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-14 17:25:09,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {4551#(<= ~counter~0 3)} ~cond := #in~cond; {4551#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:09,691 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#(<= ~counter~0 3)} assume !(0 == ~cond); {4551#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:09,692 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#(<= ~counter~0 3)} assume true; {4551#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:09,692 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4551#(<= ~counter~0 3)} {4551#(<= ~counter~0 3)} #71#return; {4551#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:09,696 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-14 17:25:09,697 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-14 17:25:09,697 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-14 17:25:09,697 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-14 17:25:09,698 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-14 17:25:09,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {4579#(<= ~counter~0 4)} ~cond := #in~cond; {4579#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:09,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {4579#(<= ~counter~0 4)} assume !(0 == ~cond); {4579#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:09,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {4579#(<= ~counter~0 4)} assume true; {4579#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:09,700 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4579#(<= ~counter~0 4)} {4579#(<= ~counter~0 4)} #71#return; {4579#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:09,700 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-14 17:25:09,700 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-14 17:25:09,701 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-14 17:25:09,701 INFO L290 TraceCheckUtils]: 49: Hoare triple {4607#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {4454#false} is VALID [2022-04-14 17:25:09,701 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-14 17:25:09,701 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-14 17:25:09,701 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-14 17:25:09,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-14 17:25:09,702 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-14 17:25:09,702 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:09,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} assume !false; {4454#false} is VALID [2022-04-14 17:25:09,982 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} assume 0 == ~cond; {4454#false} is VALID [2022-04-14 17:25:09,982 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} ~cond := #in~cond; {4454#false} is VALID [2022-04-14 17:25:09,982 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-14 17:25:09,983 INFO L290 TraceCheckUtils]: 49: Hoare triple {4635#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {4454#false} is VALID [2022-04-14 17:25:09,983 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-14 17:25:09,984 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-14 17:25:09,984 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-14 17:25:09,985 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4453#true} {4639#(< ~counter~0 50)} #71#return; {4639#(< ~counter~0 50)} is VALID [2022-04-14 17:25:09,985 INFO L290 TraceCheckUtils]: 44: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-14 17:25:09,985 INFO L290 TraceCheckUtils]: 43: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-14 17:25:09,986 INFO L290 TraceCheckUtils]: 42: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-14 17:25:09,986 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-14 17:25:09,987 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-14 17:25:09,987 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-14 17:25:09,988 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-14 17:25:09,988 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-14 17:25:09,989 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4453#true} {4667#(< ~counter~0 49)} #71#return; {4667#(< ~counter~0 49)} is VALID [2022-04-14 17:25:09,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-14 17:25:09,990 INFO L290 TraceCheckUtils]: 34: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-14 17:25:09,991 INFO L290 TraceCheckUtils]: 33: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-14 17:25:09,991 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-14 17:25:09,991 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-14 17:25:09,992 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-14 17:25:09,992 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-14 17:25:09,992 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-14 17:25:09,993 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4453#true} {4695#(< ~counter~0 48)} #71#return; {4695#(< ~counter~0 48)} is VALID [2022-04-14 17:25:09,993 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-14 17:25:09,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-14 17:25:09,993 INFO L290 TraceCheckUtils]: 24: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-14 17:25:09,993 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-14 17:25:09,994 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-14 17:25:09,994 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-14 17:25:09,994 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-14 17:25:09,995 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-14 17:25:09,995 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4453#true} {4723#(< ~counter~0 47)} #71#return; {4723#(< ~counter~0 47)} is VALID [2022-04-14 17:25:09,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-14 17:25:09,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-14 17:25:09,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-14 17:25:09,995 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-14 17:25:09,996 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-14 17:25:09,996 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-14 17:25:09,996 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-14 17:25:09,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4453#true} {4751#(< ~counter~0 46)} #69#return; {4751#(< ~counter~0 46)} is VALID [2022-04-14 17:25:09,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {4453#true} assume true; {4453#true} is VALID [2022-04-14 17:25:09,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {4453#true} assume !(0 == ~cond); {4453#true} is VALID [2022-04-14 17:25:09,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {4453#true} ~cond := #in~cond; {4453#true} is VALID [2022-04-14 17:25:09,997 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-14 17:25:09,997 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-14 17:25:09,998 INFO L272 TraceCheckUtils]: 4: Hoare triple {4751#(< ~counter~0 46)} call #t~ret7 := main(); {4751#(< ~counter~0 46)} is VALID [2022-04-14 17:25:09,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4751#(< ~counter~0 46)} {4453#true} #77#return; {4751#(< ~counter~0 46)} is VALID [2022-04-14 17:25:09,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {4751#(< ~counter~0 46)} assume true; {4751#(< ~counter~0 46)} is VALID [2022-04-14 17:25:09,999 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-14 17:25:09,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} call ULTIMATE.init(); {4453#true} is VALID [2022-04-14 17:25:09,999 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-14 17:25:09,999 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:09,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2111019420] [2022-04-14 17:25:09,999 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:09,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2026509360] [2022-04-14 17:25:09,999 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2026509360] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:09,999 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:10,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 17:25:10,000 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042735590] [2022-04-14 17:25:10,000 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:10,000 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-14 17:25:10,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:10,001 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-14 17:25:10,084 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-14 17:25:10,085 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 17:25:10,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:10,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 17:25:10,085 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 17:25:10,085 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-14 17:25:10,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:10,672 INFO L93 Difference]: Finished difference Result 140 states and 177 transitions. [2022-04-14 17:25:10,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 17:25:10,673 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-14 17:25:10,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:10,673 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-14 17:25:10,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-14 17:25:10,678 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-14 17:25:10,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-14 17:25:10,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 174 transitions. [2022-04-14 17:25:10,834 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-14 17:25:10,836 INFO L225 Difference]: With dead ends: 140 [2022-04-14 17:25:10,836 INFO L226 Difference]: Without dead ends: 132 [2022-04-14 17:25:10,836 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-14 17:25:10,837 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 223 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 223 SdHoareTripleChecker+Valid, 240 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:10,837 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [223 Valid, 240 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 17:25:10,838 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-14 17:25:10,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-14 17:25:10,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:10,916 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-14 17:25:10,916 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-14 17:25:10,917 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-14 17:25:10,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:10,919 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-14 17:25:10,919 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-14 17:25:10,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:10,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:10,920 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-14 17:25:10,921 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-14 17:25:10,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:10,923 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-14 17:25:10,923 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-14 17:25:10,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:10,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:10,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:10,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:10,924 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-14 17:25:10,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 163 transitions. [2022-04-14 17:25:10,927 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 163 transitions. Word has length 54 [2022-04-14 17:25:10,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:10,927 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 163 transitions. [2022-04-14 17:25:10,927 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:25:10,928 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-14 17:25:10,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-14 17:25:10,929 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:10,929 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:10,955 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-14 17:25:11,143 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-14 17:25:11,143 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:11,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:11,144 INFO L85 PathProgramCache]: Analyzing trace with hash 1397474810, now seen corresponding path program 3 times [2022-04-14 17:25:11,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:11,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [826485599] [2022-04-14 17:25:11,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:11,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:11,164 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:11,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [888938585] [2022-04-14 17:25:11,165 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 17:25:11,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:11,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:11,166 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-14 17:25:11,169 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-14 17:25:11,310 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-04-14 17:25:11,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:25:11,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 346 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-14 17:25:11,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:11,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:11,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {5427#true} call ULTIMATE.init(); {5427#true} is VALID [2022-04-14 17:25:11,858 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-14 17:25:11,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {5435#(<= ~counter~0 0)} assume true; {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5435#(<= ~counter~0 0)} {5427#true} #77#return; {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {5435#(<= ~counter~0 0)} call #t~ret7 := main(); {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,859 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-14 17:25:11,859 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-14 17:25:11,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {5435#(<= ~counter~0 0)} ~cond := #in~cond; {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {5435#(<= ~counter~0 0)} assume !(0 == ~cond); {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {5435#(<= ~counter~0 0)} assume true; {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5435#(<= ~counter~0 0)} {5435#(<= ~counter~0 0)} #69#return; {5435#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:11,861 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-14 17:25:11,861 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-14 17:25:11,862 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-14 17:25:11,862 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-14 17:25:11,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {5469#(<= ~counter~0 1)} ~cond := #in~cond; {5469#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:11,863 INFO L290 TraceCheckUtils]: 16: Hoare triple {5469#(<= ~counter~0 1)} assume !(0 == ~cond); {5469#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:11,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {5469#(<= ~counter~0 1)} assume true; {5469#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:11,872 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5469#(<= ~counter~0 1)} {5469#(<= ~counter~0 1)} #71#return; {5469#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:11,872 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-14 17:25:11,872 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-14 17:25:11,873 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-14 17:25:11,873 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-14 17:25:11,874 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-14 17:25:11,874 INFO L290 TraceCheckUtils]: 24: Hoare triple {5497#(<= ~counter~0 2)} ~cond := #in~cond; {5497#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:11,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {5497#(<= ~counter~0 2)} assume !(0 == ~cond); {5497#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:11,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {5497#(<= ~counter~0 2)} assume true; {5497#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:11,875 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5497#(<= ~counter~0 2)} {5497#(<= ~counter~0 2)} #71#return; {5497#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:11,875 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-14 17:25:11,878 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-14 17:25:11,878 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-14 17:25:11,880 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-14 17:25:11,880 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-14 17:25:11,880 INFO L290 TraceCheckUtils]: 33: Hoare triple {5525#(<= ~counter~0 3)} ~cond := #in~cond; {5525#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:11,881 INFO L290 TraceCheckUtils]: 34: Hoare triple {5525#(<= ~counter~0 3)} assume !(0 == ~cond); {5525#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:11,881 INFO L290 TraceCheckUtils]: 35: Hoare triple {5525#(<= ~counter~0 3)} assume true; {5525#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:11,882 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5525#(<= ~counter~0 3)} {5525#(<= ~counter~0 3)} #71#return; {5525#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:11,882 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-14 17:25:11,882 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-14 17:25:11,883 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-14 17:25:11,883 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-14 17:25:11,883 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-14 17:25:11,884 INFO L290 TraceCheckUtils]: 42: Hoare triple {5553#(<= ~counter~0 4)} ~cond := #in~cond; {5553#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:11,884 INFO L290 TraceCheckUtils]: 43: Hoare triple {5553#(<= ~counter~0 4)} assume !(0 == ~cond); {5553#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:11,884 INFO L290 TraceCheckUtils]: 44: Hoare triple {5553#(<= ~counter~0 4)} assume true; {5553#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:11,885 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5553#(<= ~counter~0 4)} {5553#(<= ~counter~0 4)} #71#return; {5553#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:11,885 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-14 17:25:11,885 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-14 17:25:11,886 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-14 17:25:11,887 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-14 17:25:11,888 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-14 17:25:11,888 INFO L290 TraceCheckUtils]: 51: Hoare triple {5581#(<= ~counter~0 5)} ~cond := #in~cond; {5581#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:11,889 INFO L290 TraceCheckUtils]: 52: Hoare triple {5581#(<= ~counter~0 5)} assume !(0 == ~cond); {5581#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:11,889 INFO L290 TraceCheckUtils]: 53: Hoare triple {5581#(<= ~counter~0 5)} assume true; {5581#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:11,890 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5581#(<= ~counter~0 5)} {5581#(<= ~counter~0 5)} #71#return; {5581#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:11,890 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-14 17:25:11,890 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-14 17:25:11,891 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-14 17:25:11,891 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-14 17:25:11,892 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-14 17:25:11,892 INFO L290 TraceCheckUtils]: 60: Hoare triple {5609#(<= ~counter~0 6)} ~cond := #in~cond; {5609#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:11,893 INFO L290 TraceCheckUtils]: 61: Hoare triple {5609#(<= ~counter~0 6)} assume !(0 == ~cond); {5609#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:11,893 INFO L290 TraceCheckUtils]: 62: Hoare triple {5609#(<= ~counter~0 6)} assume true; {5609#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:11,894 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5609#(<= ~counter~0 6)} {5609#(<= ~counter~0 6)} #71#return; {5609#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:11,894 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-14 17:25:11,895 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-14 17:25:11,895 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-14 17:25:11,895 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-14 17:25:11,896 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-14 17:25:11,897 INFO L290 TraceCheckUtils]: 69: Hoare triple {5637#(<= ~counter~0 7)} ~cond := #in~cond; {5637#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:11,897 INFO L290 TraceCheckUtils]: 70: Hoare triple {5637#(<= ~counter~0 7)} assume !(0 == ~cond); {5637#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:11,897 INFO L290 TraceCheckUtils]: 71: Hoare triple {5637#(<= ~counter~0 7)} assume true; {5637#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:11,898 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5637#(<= ~counter~0 7)} {5637#(<= ~counter~0 7)} #71#return; {5637#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:11,898 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-14 17:25:11,899 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-14 17:25:11,899 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-14 17:25:11,900 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-14 17:25:11,900 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-14 17:25:11,901 INFO L290 TraceCheckUtils]: 78: Hoare triple {5665#(<= ~counter~0 8)} ~cond := #in~cond; {5665#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:11,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {5665#(<= ~counter~0 8)} assume !(0 == ~cond); {5665#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:11,901 INFO L290 TraceCheckUtils]: 80: Hoare triple {5665#(<= ~counter~0 8)} assume true; {5665#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:11,902 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {5665#(<= ~counter~0 8)} {5665#(<= ~counter~0 8)} #71#return; {5665#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:11,902 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-14 17:25:11,903 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-14 17:25:11,903 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-14 17:25:11,904 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-14 17:25:11,904 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-14 17:25:11,905 INFO L290 TraceCheckUtils]: 87: Hoare triple {5693#(<= ~counter~0 9)} ~cond := #in~cond; {5693#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:11,905 INFO L290 TraceCheckUtils]: 88: Hoare triple {5693#(<= ~counter~0 9)} assume !(0 == ~cond); {5693#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:11,905 INFO L290 TraceCheckUtils]: 89: Hoare triple {5693#(<= ~counter~0 9)} assume true; {5693#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:11,906 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {5693#(<= ~counter~0 9)} {5693#(<= ~counter~0 9)} #71#return; {5693#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:11,906 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-14 17:25:11,907 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-14 17:25:11,907 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-14 17:25:11,908 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-14 17:25:11,908 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-14 17:25:11,909 INFO L290 TraceCheckUtils]: 96: Hoare triple {5721#(<= ~counter~0 10)} ~cond := #in~cond; {5721#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:11,909 INFO L290 TraceCheckUtils]: 97: Hoare triple {5721#(<= ~counter~0 10)} assume !(0 == ~cond); {5721#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:11,909 INFO L290 TraceCheckUtils]: 98: Hoare triple {5721#(<= ~counter~0 10)} assume true; {5721#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:11,910 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5721#(<= ~counter~0 10)} {5721#(<= ~counter~0 10)} #71#return; {5721#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:11,910 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-14 17:25:11,911 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-14 17:25:11,911 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-14 17:25:11,911 INFO L290 TraceCheckUtils]: 103: Hoare triple {5749#(<= |main_#t~post6| 10)} assume !(#t~post6 < 50);havoc #t~post6; {5428#false} is VALID [2022-04-14 17:25:11,911 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-14 17:25:11,912 INFO L290 TraceCheckUtils]: 105: Hoare triple {5428#false} ~cond := #in~cond; {5428#false} is VALID [2022-04-14 17:25:11,912 INFO L290 TraceCheckUtils]: 106: Hoare triple {5428#false} assume 0 == ~cond; {5428#false} is VALID [2022-04-14 17:25:11,912 INFO L290 TraceCheckUtils]: 107: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-14 17:25:11,912 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-14 17:25:11,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:12,577 INFO L290 TraceCheckUtils]: 107: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-14 17:25:12,577 INFO L290 TraceCheckUtils]: 106: Hoare triple {5428#false} assume 0 == ~cond; {5428#false} is VALID [2022-04-14 17:25:12,578 INFO L290 TraceCheckUtils]: 105: Hoare triple {5428#false} ~cond := #in~cond; {5428#false} is VALID [2022-04-14 17:25:12,578 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-14 17:25:12,578 INFO L290 TraceCheckUtils]: 103: Hoare triple {5777#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {5428#false} is VALID [2022-04-14 17:25:12,578 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-14 17:25:12,579 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-14 17:25:12,579 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-14 17:25:12,580 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {5427#true} {5781#(< ~counter~0 50)} #71#return; {5781#(< ~counter~0 50)} is VALID [2022-04-14 17:25:12,580 INFO L290 TraceCheckUtils]: 98: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,580 INFO L290 TraceCheckUtils]: 97: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,580 INFO L290 TraceCheckUtils]: 96: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,580 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-14 17:25:12,581 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-14 17:25:12,581 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-14 17:25:12,582 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-14 17:25:12,582 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-14 17:25:12,583 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {5427#true} {5809#(< ~counter~0 49)} #71#return; {5809#(< ~counter~0 49)} is VALID [2022-04-14 17:25:12,583 INFO L290 TraceCheckUtils]: 89: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,583 INFO L290 TraceCheckUtils]: 88: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,583 INFO L290 TraceCheckUtils]: 87: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,583 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-14 17:25:12,583 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-14 17:25:12,584 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-14 17:25:12,584 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-14 17:25:12,585 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-14 17:25:12,585 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {5427#true} {5837#(< ~counter~0 48)} #71#return; {5837#(< ~counter~0 48)} is VALID [2022-04-14 17:25:12,585 INFO L290 TraceCheckUtils]: 80: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,585 INFO L290 TraceCheckUtils]: 79: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,586 INFO L290 TraceCheckUtils]: 78: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,586 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-14 17:25:12,586 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-14 17:25:12,587 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-14 17:25:12,587 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-14 17:25:12,587 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-14 17:25:12,588 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5427#true} {5865#(< ~counter~0 47)} #71#return; {5865#(< ~counter~0 47)} is VALID [2022-04-14 17:25:12,588 INFO L290 TraceCheckUtils]: 71: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,588 INFO L290 TraceCheckUtils]: 70: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,588 INFO L290 TraceCheckUtils]: 69: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,588 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-14 17:25:12,589 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-14 17:25:12,589 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-14 17:25:12,591 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-14 17:25:12,591 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-14 17:25:12,592 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5427#true} {5893#(< ~counter~0 46)} #71#return; {5893#(< ~counter~0 46)} is VALID [2022-04-14 17:25:12,592 INFO L290 TraceCheckUtils]: 62: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,592 INFO L290 TraceCheckUtils]: 61: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,592 INFO L290 TraceCheckUtils]: 60: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,592 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-14 17:25:12,593 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-14 17:25:12,593 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-14 17:25:12,594 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-14 17:25:12,594 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-14 17:25:12,595 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5427#true} {5921#(< ~counter~0 45)} #71#return; {5921#(< ~counter~0 45)} is VALID [2022-04-14 17:25:12,595 INFO L290 TraceCheckUtils]: 53: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,595 INFO L290 TraceCheckUtils]: 52: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,595 INFO L290 TraceCheckUtils]: 51: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,595 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-14 17:25:12,595 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-14 17:25:12,596 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-14 17:25:12,596 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-14 17:25:12,597 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-14 17:25:12,597 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5427#true} {5949#(< ~counter~0 44)} #71#return; {5949#(< ~counter~0 44)} is VALID [2022-04-14 17:25:12,597 INFO L290 TraceCheckUtils]: 44: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,597 INFO L290 TraceCheckUtils]: 43: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,598 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-14 17:25:12,598 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-14 17:25:12,598 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-14 17:25:12,599 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-14 17:25:12,599 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-14 17:25:12,600 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5427#true} {5977#(< ~counter~0 43)} #71#return; {5977#(< ~counter~0 43)} is VALID [2022-04-14 17:25:12,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,600 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-14 17:25:12,601 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-14 17:25:12,601 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-14 17:25:12,601 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-14 17:25:12,602 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-14 17:25:12,602 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5427#true} {6005#(< ~counter~0 42)} #71#return; {6005#(< ~counter~0 42)} is VALID [2022-04-14 17:25:12,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,603 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-14 17:25:12,603 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-14 17:25:12,604 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-14 17:25:12,604 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-14 17:25:12,604 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-14 17:25:12,605 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5427#true} {6033#(< ~counter~0 41)} #71#return; {6033#(< ~counter~0 41)} is VALID [2022-04-14 17:25:12,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,605 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-14 17:25:12,606 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-14 17:25:12,606 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-14 17:25:12,606 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-14 17:25:12,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5427#true} {6061#(< ~counter~0 40)} #69#return; {6061#(< ~counter~0 40)} is VALID [2022-04-14 17:25:12,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-14 17:25:12,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-14 17:25:12,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-14 17:25:12,607 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-14 17:25:12,607 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-14 17:25:12,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {6061#(< ~counter~0 40)} call #t~ret7 := main(); {6061#(< ~counter~0 40)} is VALID [2022-04-14 17:25:12,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6061#(< ~counter~0 40)} {5427#true} #77#return; {6061#(< ~counter~0 40)} is VALID [2022-04-14 17:25:12,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {6061#(< ~counter~0 40)} assume true; {6061#(< ~counter~0 40)} is VALID [2022-04-14 17:25:12,609 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-14 17:25:12,609 INFO L272 TraceCheckUtils]: 0: Hoare triple {5427#true} call ULTIMATE.init(); {5427#true} is VALID [2022-04-14 17:25:12,610 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-14 17:25:12,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:12,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [826485599] [2022-04-14 17:25:12,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:12,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [888938585] [2022-04-14 17:25:12,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [888938585] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:12,610 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:12,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2022-04-14 17:25:12,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1984206172] [2022-04-14 17:25:12,611 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:12,614 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-14 17:25:12,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:12,617 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-14 17:25:12,766 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-14 17:25:12,766 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-14 17:25:12,767 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:12,767 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-14 17:25:12,767 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=281, Invalid=369, Unknown=0, NotChecked=0, Total=650 [2022-04-14 17:25:12,768 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-14 17:25:14,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,100 INFO L93 Difference]: Finished difference Result 272 states and 351 transitions. [2022-04-14 17:25:14,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2022-04-14 17:25:14,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-14 17:25:14,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:14,101 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-14 17:25:14,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 348 transitions. [2022-04-14 17:25:14,110 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-14 17:25:14,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 348 transitions. [2022-04-14 17:25:14,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 348 transitions. [2022-04-14 17:25:14,401 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-14 17:25:14,410 INFO L225 Difference]: With dead ends: 272 [2022-04-14 17:25:14,410 INFO L226 Difference]: Without dead ends: 264 [2022-04-14 17:25:14,411 INFO L912 BasicCegarLoop]: 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-14 17:25:14,412 INFO L913 BasicCegarLoop]: 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-14 17:25:14,412 INFO L914 BasicCegarLoop]: 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-14 17:25:14,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-14 17:25:14,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 264. [2022-04-14 17:25:14,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:14,557 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-14 17:25:14,557 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-14 17:25:14,558 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-14 17:25:14,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,564 INFO L93 Difference]: Finished difference Result 264 states and 331 transitions. [2022-04-14 17:25:14,564 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-14 17:25:14,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:14,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:14,566 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-14 17:25:14,566 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-14 17:25:14,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,573 INFO L93 Difference]: Finished difference Result 264 states and 331 transitions. [2022-04-14 17:25:14,573 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-14 17:25:14,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:14,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:14,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:14,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:14,574 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-14 17:25:14,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 331 transitions. [2022-04-14 17:25:14,581 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 331 transitions. Word has length 108 [2022-04-14 17:25:14,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:14,582 INFO L478 AbstractCegarLoop]: Abstraction has 264 states and 331 transitions. [2022-04-14 17:25:14,582 INFO L479 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-14 17:25:14,582 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 331 transitions. [2022-04-14 17:25:14,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 217 [2022-04-14 17:25:14,585 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:14,585 INFO L499 BasicCegarLoop]: 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-14 17:25:14,613 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-14 17:25:14,809 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-14 17:25:14,809 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:14,809 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:14,809 INFO L85 PathProgramCache]: Analyzing trace with hash -761959430, now seen corresponding path program 4 times [2022-04-14 17:25:14,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:14,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434247805] [2022-04-14 17:25:14,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:14,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:14,849 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:14,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [235300801] [2022-04-14 17:25:14,850 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-14 17:25:14,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:14,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:14,851 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-14 17:25:14,852 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-14 17:25:15,058 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-14 17:25:15,058 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:25:15,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 658 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-14 17:25:15,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:15,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:16,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {7361#true} call ULTIMATE.init(); {7361#true} is VALID [2022-04-14 17:25:16,347 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-14 17:25:16,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {7369#(<= ~counter~0 0)} assume true; {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7369#(<= ~counter~0 0)} {7361#true} #77#return; {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {7369#(<= ~counter~0 0)} call #t~ret7 := main(); {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,348 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-14 17:25:16,348 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-14 17:25:16,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {7369#(<= ~counter~0 0)} ~cond := #in~cond; {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {7369#(<= ~counter~0 0)} assume !(0 == ~cond); {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {7369#(<= ~counter~0 0)} assume true; {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7369#(<= ~counter~0 0)} {7369#(<= ~counter~0 0)} #69#return; {7369#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:16,350 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-14 17:25:16,350 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-14 17:25:16,350 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-14 17:25:16,351 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-14 17:25:16,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {7403#(<= ~counter~0 1)} ~cond := #in~cond; {7403#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:16,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {7403#(<= ~counter~0 1)} assume !(0 == ~cond); {7403#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:16,352 INFO L290 TraceCheckUtils]: 17: Hoare triple {7403#(<= ~counter~0 1)} assume true; {7403#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:16,352 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7403#(<= ~counter~0 1)} {7403#(<= ~counter~0 1)} #71#return; {7403#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:16,353 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-14 17:25:16,353 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-14 17:25:16,353 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-14 17:25:16,354 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-14 17:25:16,354 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-14 17:25:16,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {7431#(<= ~counter~0 2)} ~cond := #in~cond; {7431#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:16,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {7431#(<= ~counter~0 2)} assume !(0 == ~cond); {7431#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:16,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {7431#(<= ~counter~0 2)} assume true; {7431#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:16,356 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7431#(<= ~counter~0 2)} {7431#(<= ~counter~0 2)} #71#return; {7431#(<= ~counter~0 2)} is VALID [2022-04-14 17:25:16,356 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-14 17:25:16,357 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-14 17:25:16,357 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-14 17:25:16,357 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-14 17:25:16,358 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-14 17:25:16,358 INFO L290 TraceCheckUtils]: 33: Hoare triple {7459#(<= ~counter~0 3)} ~cond := #in~cond; {7459#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:16,359 INFO L290 TraceCheckUtils]: 34: Hoare triple {7459#(<= ~counter~0 3)} assume !(0 == ~cond); {7459#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:16,359 INFO L290 TraceCheckUtils]: 35: Hoare triple {7459#(<= ~counter~0 3)} assume true; {7459#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:16,360 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7459#(<= ~counter~0 3)} {7459#(<= ~counter~0 3)} #71#return; {7459#(<= ~counter~0 3)} is VALID [2022-04-14 17:25:16,361 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-14 17:25:16,361 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-14 17:25:16,362 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-14 17:25:16,362 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-14 17:25:16,363 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-14 17:25:16,363 INFO L290 TraceCheckUtils]: 42: Hoare triple {7487#(<= ~counter~0 4)} ~cond := #in~cond; {7487#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:16,364 INFO L290 TraceCheckUtils]: 43: Hoare triple {7487#(<= ~counter~0 4)} assume !(0 == ~cond); {7487#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:16,364 INFO L290 TraceCheckUtils]: 44: Hoare triple {7487#(<= ~counter~0 4)} assume true; {7487#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:16,365 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7487#(<= ~counter~0 4)} {7487#(<= ~counter~0 4)} #71#return; {7487#(<= ~counter~0 4)} is VALID [2022-04-14 17:25:16,365 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-14 17:25:16,366 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-14 17:25:16,366 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-14 17:25:16,367 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-14 17:25:16,368 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-14 17:25:16,368 INFO L290 TraceCheckUtils]: 51: Hoare triple {7515#(<= ~counter~0 5)} ~cond := #in~cond; {7515#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:16,368 INFO L290 TraceCheckUtils]: 52: Hoare triple {7515#(<= ~counter~0 5)} assume !(0 == ~cond); {7515#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:16,369 INFO L290 TraceCheckUtils]: 53: Hoare triple {7515#(<= ~counter~0 5)} assume true; {7515#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:16,370 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7515#(<= ~counter~0 5)} {7515#(<= ~counter~0 5)} #71#return; {7515#(<= ~counter~0 5)} is VALID [2022-04-14 17:25:16,370 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-14 17:25:16,370 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-14 17:25:16,371 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-14 17:25:16,371 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-14 17:25:16,372 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-14 17:25:16,372 INFO L290 TraceCheckUtils]: 60: Hoare triple {7543#(<= ~counter~0 6)} ~cond := #in~cond; {7543#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:16,372 INFO L290 TraceCheckUtils]: 61: Hoare triple {7543#(<= ~counter~0 6)} assume !(0 == ~cond); {7543#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:16,373 INFO L290 TraceCheckUtils]: 62: Hoare triple {7543#(<= ~counter~0 6)} assume true; {7543#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:16,373 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {7543#(<= ~counter~0 6)} {7543#(<= ~counter~0 6)} #71#return; {7543#(<= ~counter~0 6)} is VALID [2022-04-14 17:25:16,374 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-14 17:25:16,374 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-14 17:25:16,374 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-14 17:25:16,375 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-14 17:25:16,375 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-14 17:25:16,375 INFO L290 TraceCheckUtils]: 69: Hoare triple {7571#(<= ~counter~0 7)} ~cond := #in~cond; {7571#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:16,376 INFO L290 TraceCheckUtils]: 70: Hoare triple {7571#(<= ~counter~0 7)} assume !(0 == ~cond); {7571#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:16,376 INFO L290 TraceCheckUtils]: 71: Hoare triple {7571#(<= ~counter~0 7)} assume true; {7571#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:16,377 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7571#(<= ~counter~0 7)} {7571#(<= ~counter~0 7)} #71#return; {7571#(<= ~counter~0 7)} is VALID [2022-04-14 17:25:16,377 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-14 17:25:16,377 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-14 17:25:16,378 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-14 17:25:16,378 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-14 17:25:16,378 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-14 17:25:16,379 INFO L290 TraceCheckUtils]: 78: Hoare triple {7599#(<= ~counter~0 8)} ~cond := #in~cond; {7599#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:16,379 INFO L290 TraceCheckUtils]: 79: Hoare triple {7599#(<= ~counter~0 8)} assume !(0 == ~cond); {7599#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:16,379 INFO L290 TraceCheckUtils]: 80: Hoare triple {7599#(<= ~counter~0 8)} assume true; {7599#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:16,380 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7599#(<= ~counter~0 8)} {7599#(<= ~counter~0 8)} #71#return; {7599#(<= ~counter~0 8)} is VALID [2022-04-14 17:25:16,380 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-14 17:25:16,380 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-14 17:25:16,381 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-14 17:25:16,381 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-14 17:25:16,382 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-14 17:25:16,382 INFO L290 TraceCheckUtils]: 87: Hoare triple {7627#(<= ~counter~0 9)} ~cond := #in~cond; {7627#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:16,383 INFO L290 TraceCheckUtils]: 88: Hoare triple {7627#(<= ~counter~0 9)} assume !(0 == ~cond); {7627#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:16,383 INFO L290 TraceCheckUtils]: 89: Hoare triple {7627#(<= ~counter~0 9)} assume true; {7627#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:16,384 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7627#(<= ~counter~0 9)} {7627#(<= ~counter~0 9)} #71#return; {7627#(<= ~counter~0 9)} is VALID [2022-04-14 17:25:16,384 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-14 17:25:16,385 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-14 17:25:16,385 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-14 17:25:16,386 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-14 17:25:16,386 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-14 17:25:16,387 INFO L290 TraceCheckUtils]: 96: Hoare triple {7655#(<= ~counter~0 10)} ~cond := #in~cond; {7655#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:16,387 INFO L290 TraceCheckUtils]: 97: Hoare triple {7655#(<= ~counter~0 10)} assume !(0 == ~cond); {7655#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:16,387 INFO L290 TraceCheckUtils]: 98: Hoare triple {7655#(<= ~counter~0 10)} assume true; {7655#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:16,388 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7655#(<= ~counter~0 10)} {7655#(<= ~counter~0 10)} #71#return; {7655#(<= ~counter~0 10)} is VALID [2022-04-14 17:25:16,388 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-14 17:25:16,389 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-14 17:25:16,389 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-14 17:25:16,390 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-14 17:25:16,390 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-14 17:25:16,391 INFO L290 TraceCheckUtils]: 105: Hoare triple {7683#(<= ~counter~0 11)} ~cond := #in~cond; {7683#(<= ~counter~0 11)} is VALID [2022-04-14 17:25:16,391 INFO L290 TraceCheckUtils]: 106: Hoare triple {7683#(<= ~counter~0 11)} assume !(0 == ~cond); {7683#(<= ~counter~0 11)} is VALID [2022-04-14 17:25:16,391 INFO L290 TraceCheckUtils]: 107: Hoare triple {7683#(<= ~counter~0 11)} assume true; {7683#(<= ~counter~0 11)} is VALID [2022-04-14 17:25:16,392 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {7683#(<= ~counter~0 11)} {7683#(<= ~counter~0 11)} #71#return; {7683#(<= ~counter~0 11)} is VALID [2022-04-14 17:25:16,392 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-14 17:25:16,393 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-14 17:25:16,393 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-14 17:25:16,394 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-14 17:25:16,394 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-14 17:25:16,395 INFO L290 TraceCheckUtils]: 114: Hoare triple {7711#(<= ~counter~0 12)} ~cond := #in~cond; {7711#(<= ~counter~0 12)} is VALID [2022-04-14 17:25:16,395 INFO L290 TraceCheckUtils]: 115: Hoare triple {7711#(<= ~counter~0 12)} assume !(0 == ~cond); {7711#(<= ~counter~0 12)} is VALID [2022-04-14 17:25:16,395 INFO L290 TraceCheckUtils]: 116: Hoare triple {7711#(<= ~counter~0 12)} assume true; {7711#(<= ~counter~0 12)} is VALID [2022-04-14 17:25:16,396 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {7711#(<= ~counter~0 12)} {7711#(<= ~counter~0 12)} #71#return; {7711#(<= ~counter~0 12)} is VALID [2022-04-14 17:25:16,396 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-14 17:25:16,397 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-14 17:25:16,397 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-14 17:25:16,397 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-14 17:25:16,398 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-14 17:25:16,398 INFO L290 TraceCheckUtils]: 123: Hoare triple {7739#(<= ~counter~0 13)} ~cond := #in~cond; {7739#(<= ~counter~0 13)} is VALID [2022-04-14 17:25:16,399 INFO L290 TraceCheckUtils]: 124: Hoare triple {7739#(<= ~counter~0 13)} assume !(0 == ~cond); {7739#(<= ~counter~0 13)} is VALID [2022-04-14 17:25:16,399 INFO L290 TraceCheckUtils]: 125: Hoare triple {7739#(<= ~counter~0 13)} assume true; {7739#(<= ~counter~0 13)} is VALID [2022-04-14 17:25:16,400 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {7739#(<= ~counter~0 13)} {7739#(<= ~counter~0 13)} #71#return; {7739#(<= ~counter~0 13)} is VALID [2022-04-14 17:25:16,400 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-14 17:25:16,400 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-14 17:25:16,401 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-14 17:25:16,401 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-14 17:25:16,402 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-14 17:25:16,402 INFO L290 TraceCheckUtils]: 132: Hoare triple {7767#(<= ~counter~0 14)} ~cond := #in~cond; {7767#(<= ~counter~0 14)} is VALID [2022-04-14 17:25:16,402 INFO L290 TraceCheckUtils]: 133: Hoare triple {7767#(<= ~counter~0 14)} assume !(0 == ~cond); {7767#(<= ~counter~0 14)} is VALID [2022-04-14 17:25:16,403 INFO L290 TraceCheckUtils]: 134: Hoare triple {7767#(<= ~counter~0 14)} assume true; {7767#(<= ~counter~0 14)} is VALID [2022-04-14 17:25:16,403 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {7767#(<= ~counter~0 14)} {7767#(<= ~counter~0 14)} #71#return; {7767#(<= ~counter~0 14)} is VALID [2022-04-14 17:25:16,403 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-14 17:25:16,404 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-14 17:25:16,404 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-14 17:25:16,405 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-14 17:25:16,405 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-14 17:25:16,405 INFO L290 TraceCheckUtils]: 141: Hoare triple {7795#(<= ~counter~0 15)} ~cond := #in~cond; {7795#(<= ~counter~0 15)} is VALID [2022-04-14 17:25:16,406 INFO L290 TraceCheckUtils]: 142: Hoare triple {7795#(<= ~counter~0 15)} assume !(0 == ~cond); {7795#(<= ~counter~0 15)} is VALID [2022-04-14 17:25:16,406 INFO L290 TraceCheckUtils]: 143: Hoare triple {7795#(<= ~counter~0 15)} assume true; {7795#(<= ~counter~0 15)} is VALID [2022-04-14 17:25:16,407 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {7795#(<= ~counter~0 15)} {7795#(<= ~counter~0 15)} #71#return; {7795#(<= ~counter~0 15)} is VALID [2022-04-14 17:25:16,407 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-14 17:25:16,408 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-14 17:25:16,408 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-14 17:25:16,408 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-14 17:25:16,409 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-14 17:25:16,409 INFO L290 TraceCheckUtils]: 150: Hoare triple {7823#(<= ~counter~0 16)} ~cond := #in~cond; {7823#(<= ~counter~0 16)} is VALID [2022-04-14 17:25:16,410 INFO L290 TraceCheckUtils]: 151: Hoare triple {7823#(<= ~counter~0 16)} assume !(0 == ~cond); {7823#(<= ~counter~0 16)} is VALID [2022-04-14 17:25:16,410 INFO L290 TraceCheckUtils]: 152: Hoare triple {7823#(<= ~counter~0 16)} assume true; {7823#(<= ~counter~0 16)} is VALID [2022-04-14 17:25:16,411 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {7823#(<= ~counter~0 16)} {7823#(<= ~counter~0 16)} #71#return; {7823#(<= ~counter~0 16)} is VALID [2022-04-14 17:25:16,411 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-14 17:25:16,411 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-14 17:25:16,412 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-14 17:25:16,412 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-14 17:25:16,413 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-14 17:25:16,413 INFO L290 TraceCheckUtils]: 159: Hoare triple {7851#(<= ~counter~0 17)} ~cond := #in~cond; {7851#(<= ~counter~0 17)} is VALID [2022-04-14 17:25:16,413 INFO L290 TraceCheckUtils]: 160: Hoare triple {7851#(<= ~counter~0 17)} assume !(0 == ~cond); {7851#(<= ~counter~0 17)} is VALID [2022-04-14 17:25:16,413 INFO L290 TraceCheckUtils]: 161: Hoare triple {7851#(<= ~counter~0 17)} assume true; {7851#(<= ~counter~0 17)} is VALID [2022-04-14 17:25:16,414 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {7851#(<= ~counter~0 17)} {7851#(<= ~counter~0 17)} #71#return; {7851#(<= ~counter~0 17)} is VALID [2022-04-14 17:25:16,414 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-14 17:25:16,415 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-14 17:25:16,415 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-14 17:25:16,415 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-14 17:25:16,416 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-14 17:25:16,416 INFO L290 TraceCheckUtils]: 168: Hoare triple {7879#(<= ~counter~0 18)} ~cond := #in~cond; {7879#(<= ~counter~0 18)} is VALID [2022-04-14 17:25:16,416 INFO L290 TraceCheckUtils]: 169: Hoare triple {7879#(<= ~counter~0 18)} assume !(0 == ~cond); {7879#(<= ~counter~0 18)} is VALID [2022-04-14 17:25:16,417 INFO L290 TraceCheckUtils]: 170: Hoare triple {7879#(<= ~counter~0 18)} assume true; {7879#(<= ~counter~0 18)} is VALID [2022-04-14 17:25:16,417 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {7879#(<= ~counter~0 18)} {7879#(<= ~counter~0 18)} #71#return; {7879#(<= ~counter~0 18)} is VALID [2022-04-14 17:25:16,418 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-14 17:25:16,418 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-14 17:25:16,418 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-14 17:25:16,419 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-14 17:25:16,419 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-14 17:25:16,420 INFO L290 TraceCheckUtils]: 177: Hoare triple {7907#(<= ~counter~0 19)} ~cond := #in~cond; {7907#(<= ~counter~0 19)} is VALID [2022-04-14 17:25:16,420 INFO L290 TraceCheckUtils]: 178: Hoare triple {7907#(<= ~counter~0 19)} assume !(0 == ~cond); {7907#(<= ~counter~0 19)} is VALID [2022-04-14 17:25:16,420 INFO L290 TraceCheckUtils]: 179: Hoare triple {7907#(<= ~counter~0 19)} assume true; {7907#(<= ~counter~0 19)} is VALID [2022-04-14 17:25:16,421 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {7907#(<= ~counter~0 19)} {7907#(<= ~counter~0 19)} #71#return; {7907#(<= ~counter~0 19)} is VALID [2022-04-14 17:25:16,421 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-14 17:25:16,421 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-14 17:25:16,422 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-14 17:25:16,422 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-14 17:25:16,423 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-14 17:25:16,423 INFO L290 TraceCheckUtils]: 186: Hoare triple {7935#(<= ~counter~0 20)} ~cond := #in~cond; {7935#(<= ~counter~0 20)} is VALID [2022-04-14 17:25:16,423 INFO L290 TraceCheckUtils]: 187: Hoare triple {7935#(<= ~counter~0 20)} assume !(0 == ~cond); {7935#(<= ~counter~0 20)} is VALID [2022-04-14 17:25:16,423 INFO L290 TraceCheckUtils]: 188: Hoare triple {7935#(<= ~counter~0 20)} assume true; {7935#(<= ~counter~0 20)} is VALID [2022-04-14 17:25:16,424 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {7935#(<= ~counter~0 20)} {7935#(<= ~counter~0 20)} #71#return; {7935#(<= ~counter~0 20)} is VALID [2022-04-14 17:25:16,424 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-14 17:25:16,425 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-14 17:25:16,425 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-14 17:25:16,426 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-14 17:25:16,427 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-14 17:25:16,427 INFO L290 TraceCheckUtils]: 195: Hoare triple {7963#(<= ~counter~0 21)} ~cond := #in~cond; {7963#(<= ~counter~0 21)} is VALID [2022-04-14 17:25:16,427 INFO L290 TraceCheckUtils]: 196: Hoare triple {7963#(<= ~counter~0 21)} assume !(0 == ~cond); {7963#(<= ~counter~0 21)} is VALID [2022-04-14 17:25:16,428 INFO L290 TraceCheckUtils]: 197: Hoare triple {7963#(<= ~counter~0 21)} assume true; {7963#(<= ~counter~0 21)} is VALID [2022-04-14 17:25:16,428 INFO L284 TraceCheckUtils]: 198: Hoare quadruple {7963#(<= ~counter~0 21)} {7963#(<= ~counter~0 21)} #71#return; {7963#(<= ~counter~0 21)} is VALID [2022-04-14 17:25:16,428 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-14 17:25:16,429 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-14 17:25:16,429 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-14 17:25:16,429 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-14 17:25:16,430 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-14 17:25:16,430 INFO L290 TraceCheckUtils]: 204: Hoare triple {7991#(<= ~counter~0 22)} ~cond := #in~cond; {7991#(<= ~counter~0 22)} is VALID [2022-04-14 17:25:16,431 INFO L290 TraceCheckUtils]: 205: Hoare triple {7991#(<= ~counter~0 22)} assume !(0 == ~cond); {7991#(<= ~counter~0 22)} is VALID [2022-04-14 17:25:16,431 INFO L290 TraceCheckUtils]: 206: Hoare triple {7991#(<= ~counter~0 22)} assume true; {7991#(<= ~counter~0 22)} is VALID [2022-04-14 17:25:16,432 INFO L284 TraceCheckUtils]: 207: Hoare quadruple {7991#(<= ~counter~0 22)} {7991#(<= ~counter~0 22)} #71#return; {7991#(<= ~counter~0 22)} is VALID [2022-04-14 17:25:16,432 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-14 17:25:16,432 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-14 17:25:16,433 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-14 17:25:16,433 INFO L290 TraceCheckUtils]: 211: Hoare triple {8019#(<= |main_#t~post6| 22)} assume !(#t~post6 < 50);havoc #t~post6; {7362#false} is VALID [2022-04-14 17:25:16,433 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-14 17:25:16,433 INFO L290 TraceCheckUtils]: 213: Hoare triple {7362#false} ~cond := #in~cond; {7362#false} is VALID [2022-04-14 17:25:16,433 INFO L290 TraceCheckUtils]: 214: Hoare triple {7362#false} assume 0 == ~cond; {7362#false} is VALID [2022-04-14 17:25:16,433 INFO L290 TraceCheckUtils]: 215: Hoare triple {7362#false} assume !false; {7362#false} is VALID [2022-04-14 17:25:16,435 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-14 17:25:16,435 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:17,943 INFO L290 TraceCheckUtils]: 215: Hoare triple {7362#false} assume !false; {7362#false} is VALID [2022-04-14 17:25:17,944 INFO L290 TraceCheckUtils]: 214: Hoare triple {7362#false} assume 0 == ~cond; {7362#false} is VALID [2022-04-14 17:25:17,944 INFO L290 TraceCheckUtils]: 213: Hoare triple {7362#false} ~cond := #in~cond; {7362#false} is VALID [2022-04-14 17:25:17,944 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-14 17:25:17,944 INFO L290 TraceCheckUtils]: 211: Hoare triple {8047#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {7362#false} is VALID [2022-04-14 17:25:17,945 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-14 17:25:17,945 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-14 17:25:17,946 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-14 17:25:17,947 INFO L284 TraceCheckUtils]: 207: Hoare quadruple {7361#true} {8051#(< ~counter~0 50)} #71#return; {8051#(< ~counter~0 50)} is VALID [2022-04-14 17:25:17,947 INFO L290 TraceCheckUtils]: 206: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,947 INFO L290 TraceCheckUtils]: 205: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,947 INFO L290 TraceCheckUtils]: 204: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,947 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-14 17:25:17,947 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-14 17:25:17,948 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-14 17:25:17,948 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-14 17:25:17,949 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-14 17:25:17,950 INFO L284 TraceCheckUtils]: 198: Hoare quadruple {7361#true} {8079#(< ~counter~0 49)} #71#return; {8079#(< ~counter~0 49)} is VALID [2022-04-14 17:25:17,950 INFO L290 TraceCheckUtils]: 197: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,950 INFO L290 TraceCheckUtils]: 196: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,950 INFO L290 TraceCheckUtils]: 195: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,950 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-14 17:25:17,950 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-14 17:25:17,951 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-14 17:25:17,951 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-14 17:25:17,951 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-14 17:25:17,952 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {7361#true} {8107#(< ~counter~0 48)} #71#return; {8107#(< ~counter~0 48)} is VALID [2022-04-14 17:25:17,952 INFO L290 TraceCheckUtils]: 188: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,952 INFO L290 TraceCheckUtils]: 187: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,952 INFO L290 TraceCheckUtils]: 186: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,953 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-14 17:25:17,953 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-14 17:25:17,953 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-14 17:25:17,954 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-14 17:25:17,954 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-14 17:25:17,954 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {7361#true} {8135#(< ~counter~0 47)} #71#return; {8135#(< ~counter~0 47)} is VALID [2022-04-14 17:25:17,955 INFO L290 TraceCheckUtils]: 179: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,955 INFO L290 TraceCheckUtils]: 178: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,955 INFO L290 TraceCheckUtils]: 177: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,955 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-14 17:25:17,955 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-14 17:25:17,955 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-14 17:25:17,956 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-14 17:25:17,956 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-14 17:25:17,957 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {7361#true} {8163#(< ~counter~0 46)} #71#return; {8163#(< ~counter~0 46)} is VALID [2022-04-14 17:25:17,957 INFO L290 TraceCheckUtils]: 170: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,957 INFO L290 TraceCheckUtils]: 169: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,957 INFO L290 TraceCheckUtils]: 168: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,957 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-14 17:25:17,957 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-14 17:25:17,957 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-14 17:25:17,958 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-14 17:25:17,958 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-14 17:25:17,959 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {7361#true} {8191#(< ~counter~0 45)} #71#return; {8191#(< ~counter~0 45)} is VALID [2022-04-14 17:25:17,959 INFO L290 TraceCheckUtils]: 161: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,959 INFO L290 TraceCheckUtils]: 160: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,959 INFO L290 TraceCheckUtils]: 159: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,959 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-14 17:25:17,959 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-14 17:25:17,959 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-14 17:25:17,960 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-14 17:25:17,960 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-14 17:25:17,961 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {7361#true} {8219#(< ~counter~0 44)} #71#return; {8219#(< ~counter~0 44)} is VALID [2022-04-14 17:25:17,961 INFO L290 TraceCheckUtils]: 152: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,961 INFO L290 TraceCheckUtils]: 151: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,961 INFO L290 TraceCheckUtils]: 150: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,961 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-14 17:25:17,961 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-14 17:25:17,962 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-14 17:25:17,962 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-14 17:25:17,962 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-14 17:25:17,963 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {7361#true} {8247#(< ~counter~0 43)} #71#return; {8247#(< ~counter~0 43)} is VALID [2022-04-14 17:25:17,963 INFO L290 TraceCheckUtils]: 143: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,963 INFO L290 TraceCheckUtils]: 142: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,963 INFO L290 TraceCheckUtils]: 141: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,963 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-14 17:25:17,963 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-14 17:25:17,964 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-14 17:25:17,964 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-14 17:25:17,964 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-14 17:25:17,965 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {7361#true} {8275#(< ~counter~0 42)} #71#return; {8275#(< ~counter~0 42)} is VALID [2022-04-14 17:25:17,965 INFO L290 TraceCheckUtils]: 134: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,965 INFO L290 TraceCheckUtils]: 133: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,965 INFO L290 TraceCheckUtils]: 132: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,965 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-14 17:25:17,965 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-14 17:25:17,966 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-14 17:25:17,966 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-14 17:25:17,966 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-14 17:25:17,967 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {7361#true} {8303#(< ~counter~0 41)} #71#return; {8303#(< ~counter~0 41)} is VALID [2022-04-14 17:25:17,967 INFO L290 TraceCheckUtils]: 125: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,967 INFO L290 TraceCheckUtils]: 124: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,967 INFO L290 TraceCheckUtils]: 123: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,967 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-14 17:25:17,967 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-14 17:25:17,968 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-14 17:25:17,968 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-14 17:25:17,969 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-14 17:25:17,969 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {7361#true} {8331#(< ~counter~0 40)} #71#return; {8331#(< ~counter~0 40)} is VALID [2022-04-14 17:25:17,970 INFO L290 TraceCheckUtils]: 116: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,970 INFO L290 TraceCheckUtils]: 115: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,970 INFO L290 TraceCheckUtils]: 114: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,970 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-14 17:25:17,971 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-14 17:25:17,971 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-14 17:25:17,971 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-14 17:25:17,972 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-14 17:25:17,972 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {7361#true} {8359#(< ~counter~0 39)} #71#return; {8359#(< ~counter~0 39)} is VALID [2022-04-14 17:25:17,973 INFO L290 TraceCheckUtils]: 107: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,973 INFO L290 TraceCheckUtils]: 106: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,973 INFO L290 TraceCheckUtils]: 105: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,973 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-14 17:25:17,973 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-14 17:25:17,974 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-14 17:25:17,974 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-14 17:25:17,974 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-14 17:25:17,979 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7361#true} {8387#(< ~counter~0 38)} #71#return; {8387#(< ~counter~0 38)} is VALID [2022-04-14 17:25:17,979 INFO L290 TraceCheckUtils]: 98: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,979 INFO L290 TraceCheckUtils]: 97: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,979 INFO L290 TraceCheckUtils]: 96: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,980 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-14 17:25:17,980 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-14 17:25:17,980 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-14 17:25:17,981 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-14 17:25:17,981 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-14 17:25:17,982 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7361#true} {8415#(< ~counter~0 37)} #71#return; {8415#(< ~counter~0 37)} is VALID [2022-04-14 17:25:17,982 INFO L290 TraceCheckUtils]: 89: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,982 INFO L290 TraceCheckUtils]: 88: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,982 INFO L290 TraceCheckUtils]: 87: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,982 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-14 17:25:17,982 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-14 17:25:17,983 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-14 17:25:17,983 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-14 17:25:17,983 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-14 17:25:17,984 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7361#true} {8443#(< ~counter~0 36)} #71#return; {8443#(< ~counter~0 36)} is VALID [2022-04-14 17:25:17,984 INFO L290 TraceCheckUtils]: 80: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,984 INFO L290 TraceCheckUtils]: 79: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,984 INFO L290 TraceCheckUtils]: 78: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,984 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-14 17:25:17,986 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-14 17:25:17,986 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-14 17:25:17,987 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-14 17:25:17,987 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-14 17:25:17,987 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7361#true} {8471#(< ~counter~0 35)} #71#return; {8471#(< ~counter~0 35)} is VALID [2022-04-14 17:25:17,988 INFO L290 TraceCheckUtils]: 71: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,988 INFO L290 TraceCheckUtils]: 70: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,988 INFO L290 TraceCheckUtils]: 69: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,988 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-14 17:25:17,988 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-14 17:25:17,989 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-14 17:25:17,989 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-14 17:25:17,989 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-14 17:25:17,990 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {7361#true} {8499#(< ~counter~0 34)} #71#return; {8499#(< ~counter~0 34)} is VALID [2022-04-14 17:25:17,990 INFO L290 TraceCheckUtils]: 62: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,990 INFO L290 TraceCheckUtils]: 61: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,990 INFO L290 TraceCheckUtils]: 60: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,990 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-14 17:25:17,990 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-14 17:25:17,991 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-14 17:25:17,991 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-14 17:25:17,992 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-14 17:25:17,992 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7361#true} {8527#(< ~counter~0 33)} #71#return; {8527#(< ~counter~0 33)} is VALID [2022-04-14 17:25:17,992 INFO L290 TraceCheckUtils]: 53: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,992 INFO L290 TraceCheckUtils]: 52: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,992 INFO L290 TraceCheckUtils]: 51: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,992 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-14 17:25:17,993 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-14 17:25:17,993 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-14 17:25:17,994 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-14 17:25:17,994 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-14 17:25:17,994 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7361#true} {8555#(< ~counter~0 32)} #71#return; {8555#(< ~counter~0 32)} is VALID [2022-04-14 17:25:17,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,995 INFO L290 TraceCheckUtils]: 43: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,995 INFO L290 TraceCheckUtils]: 42: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,995 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-14 17:25:17,995 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-14 17:25:17,995 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-14 17:25:17,996 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-14 17:25:17,996 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-14 17:25:17,997 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7361#true} {8583#(< ~counter~0 31)} #71#return; {8583#(< ~counter~0 31)} is VALID [2022-04-14 17:25:17,997 INFO L290 TraceCheckUtils]: 35: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,997 INFO L290 TraceCheckUtils]: 34: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,997 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-14 17:25:17,997 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-14 17:25:17,998 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-14 17:25:17,998 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-14 17:25:17,998 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-14 17:25:17,999 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7361#true} {8611#(< ~counter~0 30)} #71#return; {8611#(< ~counter~0 30)} is VALID [2022-04-14 17:25:17,999 INFO L290 TraceCheckUtils]: 26: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:17,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:17,999 INFO L290 TraceCheckUtils]: 24: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:17,999 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-14 17:25:18,000 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-14 17:25:18,000 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-14 17:25:18,001 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-14 17:25:18,001 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-14 17:25:18,002 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7361#true} {8639#(< ~counter~0 29)} #71#return; {8639#(< ~counter~0 29)} is VALID [2022-04-14 17:25:18,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:18,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:18,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:18,002 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-14 17:25:18,002 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-14 17:25:18,003 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-14 17:25:18,003 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-14 17:25:18,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7361#true} {8667#(< ~counter~0 28)} #69#return; {8667#(< ~counter~0 28)} is VALID [2022-04-14 17:25:18,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {7361#true} assume true; {7361#true} is VALID [2022-04-14 17:25:18,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {7361#true} assume !(0 == ~cond); {7361#true} is VALID [2022-04-14 17:25:18,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {7361#true} ~cond := #in~cond; {7361#true} is VALID [2022-04-14 17:25:18,004 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-14 17:25:18,004 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-14 17:25:18,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {8667#(< ~counter~0 28)} call #t~ret7 := main(); {8667#(< ~counter~0 28)} is VALID [2022-04-14 17:25:18,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8667#(< ~counter~0 28)} {7361#true} #77#return; {8667#(< ~counter~0 28)} is VALID [2022-04-14 17:25:18,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {8667#(< ~counter~0 28)} assume true; {8667#(< ~counter~0 28)} is VALID [2022-04-14 17:25:18,005 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-14 17:25:18,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {7361#true} call ULTIMATE.init(); {7361#true} is VALID [2022-04-14 17:25:18,007 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-14 17:25:18,007 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:18,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434247805] [2022-04-14 17:25:18,007 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:18,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [235300801] [2022-04-14 17:25:18,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [235300801] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:18,007 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:18,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 26] total 50 [2022-04-14 17:25:18,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1857373307] [2022-04-14 17:25:18,008 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:18,011 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-14 17:25:18,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:18,012 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-14 17:25:18,276 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-14 17:25:18,277 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 50 states [2022-04-14 17:25:18,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:18,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-04-14 17:25:18,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1133, Invalid=1317, Unknown=0, NotChecked=0, Total=2450 [2022-04-14 17:25:18,279 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-14 17:25:21,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:21,449 INFO L93 Difference]: Finished difference Result 536 states and 699 transitions. [2022-04-14 17:25:21,449 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 94 states. [2022-04-14 17:25:21,450 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-14 17:25:21,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:21,451 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-14 17:25:21,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 696 transitions. [2022-04-14 17:25:21,488 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-14 17:25:21,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 696 transitions. [2022-04-14 17:25:21,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 696 transitions. [2022-04-14 17:25:22,082 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-14 17:25:22,096 INFO L225 Difference]: With dead ends: 536 [2022-04-14 17:25:22,097 INFO L226 Difference]: Without dead ends: 528 [2022-04-14 17:25:22,099 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 476 GetRequests, 383 SyntacticMatches, 0 SemanticMatches, 93 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1288 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=3316, Invalid=5614, Unknown=0, NotChecked=0, Total=8930 [2022-04-14 17:25:22,099 INFO L913 BasicCegarLoop]: 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-14 17:25:22,099 INFO L914 BasicCegarLoop]: 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-14 17:25:22,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 528 states. [2022-04-14 17:25:22,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 528 to 528. [2022-04-14 17:25:22,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:22,379 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-14 17:25:22,380 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-14 17:25:22,381 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-14 17:25:22,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:22,398 INFO L93 Difference]: Finished difference Result 528 states and 667 transitions. [2022-04-14 17:25:22,398 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-14 17:25:22,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:22,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:22,401 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-14 17:25:22,402 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-14 17:25:22,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:22,419 INFO L93 Difference]: Finished difference Result 528 states and 667 transitions. [2022-04-14 17:25:22,419 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-14 17:25:22,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:22,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:22,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:22,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:22,421 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-14 17:25:22,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 528 states to 528 states and 667 transitions. [2022-04-14 17:25:22,441 INFO L78 Accepts]: Start accepts. Automaton has 528 states and 667 transitions. Word has length 216 [2022-04-14 17:25:22,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:22,441 INFO L478 AbstractCegarLoop]: Abstraction has 528 states and 667 transitions. [2022-04-14 17:25:22,442 INFO L479 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-14 17:25:22,442 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 667 transitions. [2022-04-14 17:25:22,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 433 [2022-04-14 17:25:22,448 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:22,448 INFO L499 BasicCegarLoop]: 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-14 17:25:22,475 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-14 17:25:22,663 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-14 17:25:22,663 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:22,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:22,664 INFO L85 PathProgramCache]: Analyzing trace with hash -2081048582, now seen corresponding path program 5 times [2022-04-14 17:25:22,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:22,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [910843520] [2022-04-14 17:25:22,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:22,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:22,733 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:22,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [253357074] [2022-04-14 17:25:22,733 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-14 17:25:22,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:22,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:22,735 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-14 17:25:22,736 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process