/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/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:22:01,038 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:22:01,062 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:22:01,102 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:22:01,102 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:22:01,103 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:22:01,107 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:22:01,109 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:22:01,111 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:22:01,114 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:22:01,115 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:22:01,116 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:22:01,116 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:22:01,117 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:22:01,118 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:22:01,119 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:22:01,119 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:22:01,120 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:22:01,123 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:22:01,128 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:22:01,129 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:22:01,130 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:22:01,130 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:22:01,131 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:22:01,132 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:22:01,137 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:22:01,137 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:22:01,138 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:22:01,138 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:22:01,139 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:22:01,139 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:22:01,139 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:22:01,141 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:22:01,141 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:22:01,141 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:22:01,142 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:22:01,142 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:22:01,142 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:22:01,143 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:22:01,143 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:22:01,143 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:22:01,144 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:22:01,145 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:22:01,153 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:22:01,153 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:22:01,154 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:22:01,154 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:22:01,154 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:22:01,155 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:22:01,155 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:22:01,155 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:22:01,155 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:22:01,155 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:22:01,156 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:22:01,156 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:22:01,156 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:22:01,157 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 07:22:01,351 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:22:01,366 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:22:01,367 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:22:01,368 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:22:01,369 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:22:01,369 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound10.c [2022-04-28 07:22:01,420 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/beb0d36dc/38bb40e0bd5e489eb012898a38271cec/FLAGd39384608 [2022-04-28 07:22:01,794 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:22:01,795 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound10.c [2022-04-28 07:22:01,799 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/beb0d36dc/38bb40e0bd5e489eb012898a38271cec/FLAGd39384608 [2022-04-28 07:22:01,807 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/beb0d36dc/38bb40e0bd5e489eb012898a38271cec [2022-04-28 07:22:01,809 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:22:01,809 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:22:01,815 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:22:01,816 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:22:01,818 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:22:01,822 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:01,823 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@35e706d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01, skipping insertion in model container [2022-04-28 07:22:01,823 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:01,828 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:22:01,839 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:22:01,956 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_valuebound10.c[524,537] [2022-04-28 07:22:01,970 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:22:01,975 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:22:01,982 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_valuebound10.c[524,537] [2022-04-28 07:22:01,989 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:22:01,997 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:22:01,998 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01 WrapperNode [2022-04-28 07:22:01,998 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:22:01,998 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:22:01,998 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:22:01,998 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:22:02,005 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,005 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,009 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,010 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,014 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,017 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,018 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,028 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:22:02,029 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:22:02,029 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:22:02,029 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:22:02,030 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (1/1) ... [2022-04-28 07:22:02,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:22:02,040 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:02,049 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-28 07:22:02,062 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-28 07:22:02,077 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:22:02,078 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:22:02,078 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:22:02,078 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:22:02,078 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:22:02,078 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:22:02,078 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:22:02,078 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:22:02,078 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:22:02,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:22:02,126 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:22:02,127 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:22:02,323 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:22:02,327 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:22:02,328 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:22:02,329 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:22:02 BoogieIcfgContainer [2022-04-28 07:22:02,329 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:22:02,330 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:22:02,330 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:22:02,332 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:22:02,332 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:22:01" (1/3) ... [2022-04-28 07:22:02,333 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49147382 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:22:02, skipping insertion in model container [2022-04-28 07:22:02,333 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:01" (2/3) ... [2022-04-28 07:22:02,333 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49147382 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:22:02, skipping insertion in model container [2022-04-28 07:22:02,333 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:22:02" (3/3) ... [2022-04-28 07:22:02,334 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound10.c [2022-04-28 07:22:02,343 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:22:02,343 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:22:02,371 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:22:02,375 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6d23e6f6, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7a467f8c [2022-04-28 07:22:02,376 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:22:02,381 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:22:02,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:22:02,386 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:02,387 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:22:02,387 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:02,390 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:02,390 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-28 07:22:02,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:02,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1535997826] [2022-04-28 07:22:02,403 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:02,403 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-28 07:22:02,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:02,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1102448279] [2022-04-28 07:22:02,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:02,406 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:02,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:02,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:22:02,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:02,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 07:22:02,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 07:22:02,567 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 07:22:02,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:22:02,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:02,590 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 07:22:02,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 07:22:02,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:02,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 07:22:02,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 07:22:02,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:02,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 07:22:02,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:22:02,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 07:22:02,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 07:22:02,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 07:22:02,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 07:22:02,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#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; {37#true} is VALID [2022-04-28 07:22:02,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {37#true} is VALID [2022-04-28 07:22:02,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,617 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 07:22:02,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-28 07:22:02,617 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {37#true} is VALID [2022-04-28 07:22:02,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,619 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 07:22:02,619 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 07:22:02,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:02,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:02,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:02,620 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 07:22:02,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {38#false} is VALID [2022-04-28 07:22:02,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-28 07:22:02,621 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {38#false} is VALID [2022-04-28 07:22:02,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 07:22:02,622 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 07:22:02,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 07:22:02,623 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:22:02,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:02,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1102448279] [2022-04-28 07:22:02,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1102448279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:02,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:02,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:22:02,629 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:02,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1535997826] [2022-04-28 07:22:02,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1535997826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:02,629 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:02,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:22:02,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1054030090] [2022-04-28 07:22:02,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:02,634 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:22:02,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:02,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:22:02,674 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:02,674 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:22:02,674 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:02,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:22:02,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:22:02,695 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:22:02,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:02,852 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-28 07:22:02,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:22:02,853 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:22:02,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:22:02,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:22:02,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 07:22:02,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:22:02,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 07:22:02,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-28 07:22:02,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:02,987 INFO L225 Difference]: With dead ends: 61 [2022-04-28 07:22:02,988 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 07:22:02,990 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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-28 07:22:02,994 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:22:02,995 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:22:03,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 07:22:03,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 07:22:03,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:22:03,018 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:22:03,019 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:22:03,020 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:22:03,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:03,023 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 07:22:03,023 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:03,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:03,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:03,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 07:22:03,024 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 07:22:03,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:03,028 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 07:22:03,028 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:03,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:03,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:03,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:22:03,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:22:03,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:22:03,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-28 07:22:03,033 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-28 07:22:03,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:22:03,034 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-28 07:22:03,034 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:22:03,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-28 07:22:03,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:03,085 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:03,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:22:03,085 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:03,085 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:22:03,086 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:22:03,086 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:03,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:03,086 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-28 07:22:03,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:03,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [774022153] [2022-04-28 07:22:03,087 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:03,087 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-28 07:22:03,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:03,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [638892357] [2022-04-28 07:22:03,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:03,087 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:03,102 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:22:03,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1759565484] [2022-04-28 07:22:03,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:22:03,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:22:03,103 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:03,104 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-28 07:22:03,105 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-28 07:22:03,149 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:22:03,149 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:22:03,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 07:22:03,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:03,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:22:03,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-28 07:22:03,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#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); {295#true} is VALID [2022-04-28 07:22:03,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:03,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-28 07:22:03,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-28 07:22:03,302 INFO L290 TraceCheckUtils]: 5: Hoare triple {295#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; {295#true} is VALID [2022-04-28 07:22:03,302 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {295#true} is VALID [2022-04-28 07:22:03,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:03,302 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:03,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:03,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-28 07:22:03,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {295#true} is VALID [2022-04-28 07:22:03,305 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {295#true} is VALID [2022-04-28 07:22:03,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:03,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:03,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:03,306 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-28 07:22:03,306 INFO L272 TraceCheckUtils]: 17: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 07:22:03,306 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:03,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:03,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:03,306 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-28 07:22:03,307 INFO L290 TraceCheckUtils]: 22: Hoare triple {295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {366#(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-28 07:22:03,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {366#(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-28 07:22:03,308 INFO L272 TraceCheckUtils]: 24: Hoare triple {366#(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)); {373#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:22:03,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:22:03,309 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-28 07:22:03,310 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-28 07:22:03,310 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:22:03,310 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:22:03,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:03,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [638892357] [2022-04-28 07:22:03,311 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:22:03,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1759565484] [2022-04-28 07:22:03,312 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1759565484] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:03,312 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:03,312 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:22:03,313 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:03,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [774022153] [2022-04-28 07:22:03,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [774022153] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:03,313 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:03,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:22:03,313 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1843244148] [2022-04-28 07:22:03,313 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:03,314 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:22:03,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:03,315 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:22:03,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:03,330 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:22:03,330 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:03,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:22:03,331 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:22:03,331 INFO L87 Difference]: Start difference. First operand 29 states and 36 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:22:03,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:03,562 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 07:22:03,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:22:03,562 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:22:03,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:22:03,562 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:22:03,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 07:22:03,564 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:22:03,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 07:22:03,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 07:22:03,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:03,627 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:22:03,627 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 07:22:03,627 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-28 07:22:03,628 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:22:03,628 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:22:03,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 07:22:03,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-28 07:22:03,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:22:03,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:22:03,637 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:22:03,637 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:22:03,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:03,639 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 07:22:03,639 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 07:22:03,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:03,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:03,640 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 07:22:03,640 INFO L87 Difference]: Start difference. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 07:22:03,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:03,642 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 07:22:03,642 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 07:22:03,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:03,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:03,642 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:22:03,642 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:22:03,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:22:03,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-28 07:22:03,644 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-28 07:22:03,644 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:22:03,644 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-28 07:22:03,644 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:22:03,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-28 07:22:03,681 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-28 07:22:03,681 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-28 07:22:03,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:22:03,682 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:03,682 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 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-28 07:22:03,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 07:22:03,899 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:22:03,899 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:03,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:03,900 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-28 07:22:03,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:03,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [387833223] [2022-04-28 07:22:03,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:03,900 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-28 07:22:03,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:03,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [876572719] [2022-04-28 07:22:03,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:03,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:03,920 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:22:03,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1430742680] [2022-04-28 07:22:03,920 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:22:03,920 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:22:03,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:03,921 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-28 07:22:03,922 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-28 07:22:03,956 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:22:03,956 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:22:03,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 07:22:03,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:03,967 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:22:14,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 07:22:14,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 07:22:14,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:14,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 07:22:14,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 07:22:14,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#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; {623#true} is VALID [2022-04-28 07:22:14,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:14,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:22:14,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:22:14,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:22:14,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:22:14,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:22:14,695 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:14,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:22:14,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:22:14,695 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:14,695 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:22:14,696 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:14,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:22:14,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:22:14,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:22:14,697 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {694#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:22:14,698 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {698#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:22:14,698 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {698#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:22:14,698 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~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)); {623#true} is VALID [2022-04-28 07:22:14,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:22:14,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:14,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:16,702 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {719#(and (<= main_~x~0 10) (<= 0 main_~x~0) (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) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 07:22:16,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= main_~x~0 10) (<= 0 main_~x~0) (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) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:22:16,705 INFO L272 TraceCheckUtils]: 30: Hoare triple {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= 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)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:22:16,707 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:22:16,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 07:22:16,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 07:22:16,708 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:22:16,708 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:22:53,177 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 07:22:53,178 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 07:22:53,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:22:53,179 INFO L272 TraceCheckUtils]: 30: Hoare triple {747#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:22:53,180 INFO L290 TraceCheckUtils]: 29: Hoare triple {751#(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); {747#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:22:53,181 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {623#true} #77#return; {751#(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-28 07:22:53,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:53,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:53,182 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:22:53,183 INFO L272 TraceCheckUtils]: 24: Hoare triple {623#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:53,183 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-28 07:22:53,183 INFO L290 TraceCheckUtils]: 22: Hoare triple {623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {623#true} is VALID [2022-04-28 07:22:53,183 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-28 07:22:53,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:53,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:22:53,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:22:53,183 INFO L272 TraceCheckUtils]: 17: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:53,184 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {623#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:53,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:22:53,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:22:53,185 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {623#true} is VALID [2022-04-28 07:22:53,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#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; {623#true} is VALID [2022-04-28 07:22:53,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 07:22:53,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 07:22:53,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:22:53,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 07:22:53,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 07:22:53,188 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:22:53,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:53,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [876572719] [2022-04-28 07:22:53,189 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:22:53,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1430742680] [2022-04-28 07:22:53,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1430742680] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:22:53,189 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:22:53,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-28 07:22:53,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:53,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [387833223] [2022-04-28 07:22:53,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [387833223] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:53,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:53,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:22:53,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112512864] [2022-04-28 07:22:53,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:53,190 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 07:22:53,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:53,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:22:55,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:55,218 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:22:55,219 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:55,219 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:22:55,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:22:55,219 INFO L87 Difference]: Start difference. First operand 35 states and 42 transitions. Second operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:22:57,774 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:23:04,482 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:23:04,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:04,623 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 07:23:04,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:23:04,623 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 07:23:04,624 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:23:04,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:23:04,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:23:04,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:23:04,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:23:04,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 07:23:04,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:23:04,675 INFO L225 Difference]: With dead ends: 47 [2022-04-28 07:23:04,675 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 07:23:04,676 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:23:04,677 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 10 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:23:04,677 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 228 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-28 07:23:04,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 07:23:04,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-28 07:23:04,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:23:04,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:23:04,726 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:23:04,726 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:23:04,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:04,728 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 07:23:04,728 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 07:23:04,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:23:04,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:23:04,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 07:23:04,729 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 07:23:04,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:04,731 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 07:23:04,731 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 07:23:04,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:23:04,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:23:04,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:23:04,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:23:04,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:23:04,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 07:23:04,734 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-28 07:23:04,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:23:04,734 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 07:23:04,734 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:23:04,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 07:23:04,819 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-28 07:23:04,820 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 07:23:04,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 07:23:04,824 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:23:04,824 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:23:04,841 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-28 07:23:05,025 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 07:23:05,025 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:23:05,026 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:23:05,026 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-28 07:23:05,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:23:05,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [878010112] [2022-04-28 07:23:05,026 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:23:05,026 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-28 07:23:05,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:23:05,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1035380904] [2022-04-28 07:23:05,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:23:05,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:23:05,040 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:23:05,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [612155348] [2022-04-28 07:23:05,041 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:23:05,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:23:05,041 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:23:05,054 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-28 07:23:05,057 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-28 07:23:05,101 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:23:05,101 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:23:05,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 07:23:05,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:23:05,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:23:07,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 07:23:07,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#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); {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#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; {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:07,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:23:07,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:23:07,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:23:07,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:23:07,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:23:07,970 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:07,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:23:07,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:23:07,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:07,971 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:23:07,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:07,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:23:07,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:23:07,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:23:07,973 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {1187#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:23:07,973 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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-28 07:23:07,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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 !false; {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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-28 07:23:07,974 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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)); {1116#true} is VALID [2022-04-28 07:23:07,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:23:07,974 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:23:07,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:07,975 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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-28 07:23:07,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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); {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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-28 07:23:07,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= 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; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~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-28 07:23:07,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~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 !false; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~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-28 07:23:07,980 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~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)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:23:07,980 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:23:07,980 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 07:23:07,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 07:23:07,981 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:23:07,981 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:10,866 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 07:24:10,867 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 07:24:10,867 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:10,868 INFO L272 TraceCheckUtils]: 32: Hoare triple {1243#(= (+ 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)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:10,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:10,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {1250#(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; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:10,874 INFO L290 TraceCheckUtils]: 29: Hoare triple {1250#(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); {1250#(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-28 07:24:10,874 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1250#(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))))} #77#return; {1250#(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-28 07:24:10,874 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:10,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:10,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:10,875 INFO L272 TraceCheckUtils]: 24: Hoare triple {1250#(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))))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:10,875 INFO L290 TraceCheckUtils]: 23: Hoare triple {1250#(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 !false; {1250#(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-28 07:24:10,880 INFO L290 TraceCheckUtils]: 22: Hoare triple {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 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; {1250#(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-28 07:24:10,881 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #75#return; {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-28 07:24:10,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:10,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:10,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:24:10,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {1116#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:10,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#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; {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#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); {1116#true} is VALID [2022-04-28 07:24:10,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 07:24:10,885 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:24:10,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:10,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1035380904] [2022-04-28 07:24:10,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:10,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [612155348] [2022-04-28 07:24:10,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [612155348] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:10,885 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:10,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 07:24:10,885 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:10,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [878010112] [2022-04-28 07:24:10,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [878010112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:10,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:10,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 07:24:10,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1531930210] [2022-04-28 07:24:10,886 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:10,886 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 07:24:10,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:10,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:10,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:10,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 07:24:10,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:10,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 07:24:10,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:24:10,912 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:11,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:11,750 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-28 07:24:11,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:24:11,750 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 07:24:11,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:11,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:11,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:24:11,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:11,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:24:11,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 07:24:11,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:11,815 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:24:11,815 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 07:24:11,816 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:24:11,816 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:11,817 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 125 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:24:11,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 07:24:11,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-28 07:24:11,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:11,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:11,878 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:11,879 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:11,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:11,885 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 07:24:11,885 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 07:24:11,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:11,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:11,886 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-28 07:24:11,886 INFO L87 Difference]: Start difference. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-28 07:24:11,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:11,890 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 07:24:11,890 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 07:24:11,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:11,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:11,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:11,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:11,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:11,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-28 07:24:11,893 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-28 07:24:11,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:11,893 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-28 07:24:11,893 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:11,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-28 07:24:11,965 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-28 07:24:11,965 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-28 07:24:11,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:24:11,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:11,966 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:11,997 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-28 07:24:12,182 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:12,182 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:12,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:12,183 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-28 07:24:12,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:12,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1211119340] [2022-04-28 07:24:12,183 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:12,183 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-28 07:24:12,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:12,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949147619] [2022-04-28 07:24:12,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:12,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:12,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:12,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1515586141] [2022-04-28 07:24:12,198 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:12,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:12,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:12,199 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-28 07:24:12,200 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-28 07:24:12,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:12,244 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:12,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 07:24:12,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:12,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:12,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 07:24:12,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-28 07:24:12,481 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:12,482 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-28 07:24:12,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1748#(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-28 07:24:12,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1748#(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-28 07:24:12,483 INFO L272 TraceCheckUtils]: 24: Hoare triple {1748#(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)); {1677#true} is VALID [2022-04-28 07:24:12,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:12,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:12,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:12,485 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1748#(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-28 07:24:12,485 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1748#(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-28 07:24:12,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 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)); {1748#(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-28 07:24:12,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-28 07:24:12,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} assume !false; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-28 07:24:12,489 INFO L272 TraceCheckUtils]: 33: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:12,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:12,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 07:24:12,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 07:24:12,490 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:24:12,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:25,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 07:24:25,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 07:24:25,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:25,039 INFO L272 TraceCheckUtils]: 33: Hoare triple {1805#(= (+ 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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:25,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:25,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:25,047 INFO L290 TraceCheckUtils]: 30: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~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)); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:24:25,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:24:25,048 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1677#true} #77#return; {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:24:25,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 26: Hoare triple {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:24:25,049 INFO L272 TraceCheckUtils]: 24: Hoare triple {1677#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1677#true} is VALID [2022-04-28 07:24:25,049 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:25,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:25,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 07:24:25,051 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:24:25,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:25,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949147619] [2022-04-28 07:24:25,052 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:25,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1515586141] [2022-04-28 07:24:25,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1515586141] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:25,052 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:25,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 07:24:25,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:25,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1211119340] [2022-04-28 07:24:25,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1211119340] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:25,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:25,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:24:25,052 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743661830] [2022-04-28 07:24:25,052 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:25,053 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:24:25,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:25,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:25,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:25,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:24:25,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:25,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:24:25,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:24:25,077 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:25,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:25,957 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-28 07:24:25,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:24:25,957 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:24:25,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:25,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:25,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-28 07:24:25,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:25,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-28 07:24:25,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-28 07:24:26,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:26,048 INFO L225 Difference]: With dead ends: 77 [2022-04-28 07:24:26,048 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 07:24:26,049 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:24:26,049 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 173 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 173 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:26,050 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 117 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 173 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 07:24:26,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 07:24:26,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-28 07:24:26,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:26,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:26,120 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:26,120 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:26,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:26,122 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-28 07:24:26,122 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-28 07:24:26,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:26,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:26,122 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-28 07:24:26,122 INFO L87 Difference]: Start difference. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-28 07:24:26,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:26,124 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-28 07:24:26,124 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-28 07:24:26,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:26,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:26,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:26,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:26,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:26,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-28 07:24:26,126 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-28 07:24:26,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:26,126 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-28 07:24:26,127 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:26,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-28 07:24:26,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:26,218 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-28 07:24:26,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 07:24:26,218 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:26,218 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:26,235 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-28 07:24:26,419 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:26,419 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:26,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:26,419 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-28 07:24:26,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:26,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1735909655] [2022-04-28 07:24:26,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:26,420 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-28 07:24:26,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:26,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2139624671] [2022-04-28 07:24:26,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:26,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:26,437 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:26,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2097897190] [2022-04-28 07:24:26,437 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:26,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:26,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:26,438 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-28 07:24:26,439 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-28 07:24:26,471 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:26,471 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:26,472 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 07:24:26,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:26,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:26,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-28 07:24:26,698 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:26,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:26,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:26,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:26,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:26,700 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,700 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,702 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:26,702 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:26,703 INFO L290 TraceCheckUtils]: 19: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:26,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:26,704 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {2382#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:24:26,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:26,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:26,705 INFO L272 TraceCheckUtils]: 24: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,705 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,706 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:26,706 INFO L290 TraceCheckUtils]: 29: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:26,706 INFO L272 TraceCheckUtils]: 30: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,706 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,706 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,707 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:26,708 INFO L272 TraceCheckUtils]: 35: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:26,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:26,708 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-28 07:24:26,709 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-28 07:24:26,709 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:24:26,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:26,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-28 07:24:26,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-28 07:24:26,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:26,949 INFO L272 TraceCheckUtils]: 35: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:26,951 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2447#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 07:24:26,951 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,951 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,951 INFO L272 TraceCheckUtils]: 30: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {2311#true} assume !(0 != ~a~0 && 0 != ~b~0); {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 07:24:26,952 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-28 07:24:26,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L272 TraceCheckUtils]: 24: Hoare triple {2311#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {2311#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-28 07:24:26,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {2311#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-28 07:24:26,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 07:24:26,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-28 07:24:26,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-28 07:24:26,955 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 07:24:26,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:26,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2139624671] [2022-04-28 07:24:26,955 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:26,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2097897190] [2022-04-28 07:24:26,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2097897190] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:24:26,955 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:24:26,955 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 07:24:26,956 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:26,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1735909655] [2022-04-28 07:24:26,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1735909655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:26,956 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:26,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:26,956 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1075747839] [2022-04-28 07:24:26,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:26,956 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 07:24:26,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:26,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:26,980 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-28 07:24:26,980 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:24:26,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:26,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:24:26,980 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:24:26,981 INFO L87 Difference]: Start difference. First operand 59 states and 72 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:27,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:27,383 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-28 07:24:27,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:24:27,383 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 07:24:27,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:27,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:27,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:27,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:27,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:27,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 07:24:27,412 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-28 07:24:27,413 INFO L225 Difference]: With dead ends: 65 [2022-04-28 07:24:27,413 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 07:24:27,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:24:27,414 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:27,414 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:24:27,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 07:24:27,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 07:24:27,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:27,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:27,468 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:27,469 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:27,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:27,470 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-28 07:24:27,470 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 07:24:27,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:27,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:27,471 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 07:24:27,471 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 07:24:27,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:27,472 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-28 07:24:27,472 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 07:24:27,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:27,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:27,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:27,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:27,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:27,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-28 07:24:27,474 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-28 07:24:27,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:27,474 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-28 07:24:27,474 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:27,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-28 07:24:27,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:27,555 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 07:24:27,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:24:27,555 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:27,555 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:27,571 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 07:24:27,763 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:27,763 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:27,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:27,764 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-28 07:24:27,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:27,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1685243174] [2022-04-28 07:24:27,764 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:27,764 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-28 07:24:27,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:27,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [430775530] [2022-04-28 07:24:27,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:27,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:27,781 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:27,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [101637523] [2022-04-28 07:24:27,782 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:27,782 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:27,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:27,786 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-28 07:24:27,787 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-28 07:24:27,822 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:27,822 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:27,823 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:24:27,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:27,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:28,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:28,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:28,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:28,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:28,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:28,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:28,325 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:28,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 07:24:28,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 07:24:28,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:28,329 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:28,330 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:28,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 07:24:28,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 07:24:28,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:28,331 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:28,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= main_~x~0 10) (<= 0 main_~x~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,332 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {2973#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 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)); {2899#true} is VALID [2022-04-28 07:24:28,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:28,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:28,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:28,334 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,334 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 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)); {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} 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)); {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,336 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 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) && 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; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:28,338 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= main_~x~0 10) (<= 0 main_~x~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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:28,339 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:28,339 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-28 07:24:28,339 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-28 07:24:28,339 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:24:28,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:46,889 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-28 07:24:46,890 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-28 07:24:46,890 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:46,891 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(= (+ 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:46,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:46,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 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; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:46,900 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 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)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 07:24:46,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~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)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 07:24:46,901 INFO L290 TraceCheckUtils]: 29: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 07:24:46,902 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2899#true} #77#return; {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-28 07:24:46,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:46,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:24:46,903 INFO L272 TraceCheckUtils]: 24: Hoare triple {2899#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 22: Hoare triple {2899#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 07:24:46,903 INFO L272 TraceCheckUtils]: 17: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {2899#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-28 07:24:46,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-28 07:24:46,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 07:24:46,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-28 07:24:46,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-28 07:24:46,905 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:24:46,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:46,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [430775530] [2022-04-28 07:24:46,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:46,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [101637523] [2022-04-28 07:24:46,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [101637523] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:46,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:46,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 07:24:46,906 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:46,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1685243174] [2022-04-28 07:24:46,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1685243174] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:46,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:46,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:24:46,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2009726432] [2022-04-28 07:24:46,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:46,906 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 07:24:46,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:46,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:46,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:46,934 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:24:46,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:46,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:24:46,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:24:46,935 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:47,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,721 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-28 07:24:47,721 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 07:24:47,721 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 07:24:47,722 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:47,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:47,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-28 07:24:47,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:47,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-28 07:24:47,724 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-28 07:24:47,804 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-28 07:24:47,805 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:24:47,805 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:24:47,805 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:24:47,806 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 31 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:47,806 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 126 Invalid, 254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:24:47,806 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:24:47,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-28 07:24:47,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:47,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:47,878 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:47,878 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:47,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,880 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 07:24:47,880 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-28 07:24:47,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:47,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:47,880 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 07:24:47,880 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 07:24:47,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,882 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 07:24:47,882 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-28 07:24:47,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:47,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:47,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:47,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:47,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:24:47,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 07:24:47,884 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-28 07:24:47,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:47,884 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 07:24:47,884 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 07:24:47,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 07:24:47,992 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-28 07:24:47,992 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 07:24:47,992 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:24:47,992 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:47,992 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:48,008 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 07:24:48,208 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:48,209 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:48,209 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:48,209 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-28 07:24:48,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:48,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1874716853] [2022-04-28 07:24:48,210 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:48,210 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-28 07:24:48,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:48,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1360169510] [2022-04-28 07:24:48,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:48,210 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:48,220 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:48,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1340656599] [2022-04-28 07:24:48,221 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:48,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:48,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:48,222 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-28 07:24:48,223 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-28 07:24:48,275 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:48,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:48,276 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 07:24:48,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:48,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:48,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,493 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-28 07:24:48,494 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3630#(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-28 07:24:48,494 INFO L290 TraceCheckUtils]: 23: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3630#(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-28 07:24:48,494 INFO L272 TraceCheckUtils]: 24: Hoare triple {3630#(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)); {3559#true} is VALID [2022-04-28 07:24:48,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,495 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3559#true} {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {3630#(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-28 07:24:48,495 INFO L290 TraceCheckUtils]: 29: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3630#(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-28 07:24:48,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 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)); {3630#(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-28 07:24:48,496 INFO L290 TraceCheckUtils]: 31: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} 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)); {3630#(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-28 07:24:48,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 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) && 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; {3661#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:48,498 INFO L290 TraceCheckUtils]: 33: Hoare triple {3661#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} assume !false; {3661#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:48,500 INFO L272 TraceCheckUtils]: 34: Hoare triple {3661#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) 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)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:48,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:48,501 INFO L290 TraceCheckUtils]: 36: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-28 07:24:48,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-28 07:24:48,501 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:24:48,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:48,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-28 07:24:48,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-28 07:24:48,638 INFO L290 TraceCheckUtils]: 35: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:48,639 INFO L272 TraceCheckUtils]: 34: Hoare triple {3688#(= (+ 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)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:48,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,643 INFO L290 TraceCheckUtils]: 32: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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; {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,644 INFO L290 TraceCheckUtils]: 31: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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)); {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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)); {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,644 INFO L290 TraceCheckUtils]: 29: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,645 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3559#true} {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #77#return; {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,645 INFO L272 TraceCheckUtils]: 24: Hoare triple {3688#(= (+ 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)); {3559#true} is VALID [2022-04-28 07:24:48,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3688#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:48,646 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-28 07:24:48,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-28 07:24:48,648 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 07:24:48,648 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:48,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1360169510] [2022-04-28 07:24:48,648 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:48,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1340656599] [2022-04-28 07:24:48,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1340656599] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:24:48,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:24:48,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 07:24:48,648 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:48,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1874716853] [2022-04-28 07:24:48,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1874716853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:48,649 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:48,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:48,649 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [157187579] [2022-04-28 07:24:48,649 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:48,649 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-28 07:24:48,649 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:48,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:48,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:48,696 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:24:48,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:48,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:24:48,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 07:24:48,697 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:49,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:49,018 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 07:24:49,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:24:49,018 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-28 07:24:49,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:49,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:49,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-04-28 07:24:49,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:49,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-04-28 07:24:49,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2022-04-28 07:24:49,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:49,082 INFO L225 Difference]: With dead ends: 69 [2022-04-28 07:24:49,082 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:24:49,082 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 68 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 07:24:49,082 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 6 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:49,082 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 79 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:24:49,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:24:49,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 59. [2022-04-28 07:24:49,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:49,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:49,158 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:49,158 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:49,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:49,159 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 07:24:49,159 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 07:24:49,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:49,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:49,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:24:49,160 INFO L87 Difference]: Start difference. First operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:24:49,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:49,161 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 07:24:49,161 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 07:24:49,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:49,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:49,161 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:49,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:49,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:49,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-28 07:24:49,163 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 38 [2022-04-28 07:24:49,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:49,164 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-28 07:24:49,164 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:49,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-28 07:24:49,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:49,790 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-28 07:24:49,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 07:24:49,790 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:49,790 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:49,806 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-28 07:24:50,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:50,003 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:50,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:50,004 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-28 07:24:50,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:50,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1640842756] [2022-04-28 07:24:50,006 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:50,006 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-28 07:24:50,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:50,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452964849] [2022-04-28 07:24:50,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:50,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:50,038 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:50,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1778828811] [2022-04-28 07:24:50,038 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:50,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:50,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:50,039 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-28 07:24:50,040 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-28 07:24:50,072 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:50,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:50,073 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 07:24:50,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:50,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:50,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {4181#true} call ULTIMATE.init(); {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {4181#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); {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4181#true} {4181#true} #83#return; {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {4181#true} call #t~ret6 := main(); {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {4181#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; {4181#true} is VALID [2022-04-28 07:24:50,676 INFO L272 TraceCheckUtils]: 6: Hoare triple {4181#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:50,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {4181#true} ~cond := #in~cond; {4207#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:50,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {4207#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:50,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:50,678 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} {4181#true} #71#return; {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:50,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:50,678 INFO L272 TraceCheckUtils]: 12: Hoare triple {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:50,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:50,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:50,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:50,681 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4181#true} {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:24:50,681 INFO L272 TraceCheckUtils]: 17: Hoare triple {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:50,681 INFO L290 TraceCheckUtils]: 18: Hoare triple {4181#true} ~cond := #in~cond; {4207#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:50,681 INFO L290 TraceCheckUtils]: 19: Hoare triple {4207#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:50,681 INFO L290 TraceCheckUtils]: 20: Hoare triple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:50,682 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} {4218#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {4252#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:24:50,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {4252#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,683 INFO L272 TraceCheckUtils]: 24: Hoare triple {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:50,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:50,683 INFO L290 TraceCheckUtils]: 26: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:50,683 INFO L290 TraceCheckUtils]: 27: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:50,683 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4181#true} {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,684 INFO L290 TraceCheckUtils]: 29: Hoare triple {4256#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 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);~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; {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,685 INFO L272 TraceCheckUtils]: 32: Hoare triple {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:50,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:50,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:50,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:50,686 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4181#true} {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:50,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {4278#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4182#false} is VALID [2022-04-28 07:24:50,686 INFO L272 TraceCheckUtils]: 38: Hoare triple {4182#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4182#false} is VALID [2022-04-28 07:24:50,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {4182#false} ~cond := #in~cond; {4182#false} is VALID [2022-04-28 07:24:50,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {4182#false} assume 0 == ~cond; {4182#false} is VALID [2022-04-28 07:24:50,687 INFO L290 TraceCheckUtils]: 41: Hoare triple {4182#false} assume !false; {4182#false} is VALID [2022-04-28 07:24:50,687 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:24:50,687 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:51,626 INFO L290 TraceCheckUtils]: 41: Hoare triple {4182#false} assume !false; {4182#false} is VALID [2022-04-28 07:24:51,626 INFO L290 TraceCheckUtils]: 40: Hoare triple {4182#false} assume 0 == ~cond; {4182#false} is VALID [2022-04-28 07:24:51,626 INFO L290 TraceCheckUtils]: 39: Hoare triple {4182#false} ~cond := #in~cond; {4182#false} is VALID [2022-04-28 07:24:51,626 INFO L272 TraceCheckUtils]: 38: Hoare triple {4182#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4182#false} is VALID [2022-04-28 07:24:51,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {4182#false} is VALID [2022-04-28 07:24:51,627 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4181#true} {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:51,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:51,627 INFO L290 TraceCheckUtils]: 34: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:51,627 INFO L290 TraceCheckUtils]: 33: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:51,627 INFO L272 TraceCheckUtils]: 32: Hoare triple {4327#(and (not (= main_~b~0 0)) (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)); {4181#true} is VALID [2022-04-28 07:24:51,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:51,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {4349#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div 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; {4327#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:51,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {4349#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~0 2) 0))))} is VALID [2022-04-28 07:24:51,630 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4181#true} {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} #77#return; {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 07:24:51,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:51,630 INFO L290 TraceCheckUtils]: 26: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:51,630 INFO L290 TraceCheckUtils]: 25: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:51,630 INFO L272 TraceCheckUtils]: 24: Hoare triple {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:51,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !false; {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 07:24:51,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4353#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 07:24:51,632 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4181#true} {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:51,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:51,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:51,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:51,632 INFO L272 TraceCheckUtils]: 17: Hoare triple {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:51,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4181#true} {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:51,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:51,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {4181#true} assume !(0 == ~cond); {4181#true} is VALID [2022-04-28 07:24:51,633 INFO L290 TraceCheckUtils]: 13: Hoare triple {4181#true} ~cond := #in~cond; {4181#true} is VALID [2022-04-28 07:24:51,633 INFO L272 TraceCheckUtils]: 12: Hoare triple {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:51,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:51,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} {4181#true} #71#return; {4375#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:51,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {4211#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:51,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {4421#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4211#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:51,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {4181#true} ~cond := #in~cond; {4421#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:24:51,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {4181#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {4181#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; {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {4181#true} call #t~ret6 := main(); {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4181#true} {4181#true} #83#return; {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {4181#true} assume true; {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {4181#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); {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {4181#true} call ULTIMATE.init(); {4181#true} is VALID [2022-04-28 07:24:51,635 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:24:51,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:51,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452964849] [2022-04-28 07:24:51,635 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:51,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1778828811] [2022-04-28 07:24:51,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1778828811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:51,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:51,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 07:24:51,636 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:51,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1640842756] [2022-04-28 07:24:51,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1640842756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:51,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:51,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:24:51,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [906063143] [2022-04-28 07:24:51,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:51,637 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-28 07:24:51,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:51,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:24:51,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:51,663 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:24:51,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:51,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:24:51,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:24:51,663 INFO L87 Difference]: Start difference. First operand 59 states and 72 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:24:52,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:52,031 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 07:24:52,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:24:52,031 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-28 07:24:52,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:52,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:24:52,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:24:52,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:24:52,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:24:52,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 07:24:52,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:52,078 INFO L225 Difference]: With dead ends: 74 [2022-04-28 07:24:52,078 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 07:24:52,078 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:24:52,079 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 38 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:52,079 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 92 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:24:52,079 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 07:24:52,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 67. [2022-04-28 07:24:52,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:52,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:52,186 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:52,186 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:52,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:52,191 INFO L93 Difference]: Finished difference Result 69 states and 88 transitions. [2022-04-28 07:24:52,191 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 88 transitions. [2022-04-28 07:24:52,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:52,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:52,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 69 states. [2022-04-28 07:24:52,191 INFO L87 Difference]: Start difference. First operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 69 states. [2022-04-28 07:24:52,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:52,193 INFO L93 Difference]: Finished difference Result 69 states and 88 transitions. [2022-04-28 07:24:52,193 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 88 transitions. [2022-04-28 07:24:52,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:52,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:52,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:52,193 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:52,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 48 states have (on average 1.3125) internal successors, (63), 48 states have internal predecessors, (63), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:24:52,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 85 transitions. [2022-04-28 07:24:52,195 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 85 transitions. Word has length 42 [2022-04-28 07:24:52,195 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:52,195 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 85 transitions. [2022-04-28 07:24:52,195 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:24:52,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 85 transitions. [2022-04-28 07:24:52,868 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:52,868 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 85 transitions. [2022-04-28 07:24:52,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 07:24:52,869 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:52,869 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:24:52,885 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-28 07:24:53,069 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 07:24:53,070 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:53,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:53,075 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-28 07:24:53,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:53,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1864729704] [2022-04-28 07:24:53,076 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:53,076 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-28 07:24:53,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:53,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617710608] [2022-04-28 07:24:53,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:53,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:53,093 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:53,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2126641698] [2022-04-28 07:24:53,093 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:53,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:53,094 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:53,094 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-28 07:24:53,095 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-28 07:24:53,128 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:53,128 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:53,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 07:24:53,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:53,138 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:25:03,372 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:25:03,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {4871#true} call ULTIMATE.init(); {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {4871#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); {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4871#true} {4871#true} #83#return; {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {4871#true} call #t~ret6 := main(); {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {4871#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; {4871#true} is VALID [2022-04-28 07:25:03,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {4871#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4871#true} {4871#true} #71#return; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {4871#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L272 TraceCheckUtils]: 12: Hoare triple {4871#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4871#true} {4871#true} #73#return; {4871#true} is VALID [2022-04-28 07:25:03,776 INFO L272 TraceCheckUtils]: 17: Hoare triple {4871#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:03,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {4871#true} ~cond := #in~cond; {4930#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:25:03,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {4930#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4934#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:03,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {4934#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4934#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:03,778 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4934#(not (= |assume_abort_if_not_#in~cond| 0))} {4871#true} #75#return; {4941#(<= 1 main_~y~0)} is VALID [2022-04-28 07:25:03,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {4941#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,778 INFO L290 TraceCheckUtils]: 23: Hoare triple {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,778 INFO L272 TraceCheckUtils]: 24: Hoare triple {4945#(and (<= 1 main_~p~0) (<= 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)); {4871#true} is VALID [2022-04-28 07:25:03,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:03,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:03,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:03,795 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4871#true} {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,796 INFO L290 TraceCheckUtils]: 29: Hoare triple {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~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)); {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,797 INFO L290 TraceCheckUtils]: 32: Hoare triple {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:03,797 INFO L272 TraceCheckUtils]: 33: Hoare triple {4945#(and (<= 1 main_~p~0) (<= 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)); {4871#true} is VALID [2022-04-28 07:25:03,797 INFO L290 TraceCheckUtils]: 34: Hoare triple {4871#true} ~cond := #in~cond; {4982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:03,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {4982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:03,798 INFO L290 TraceCheckUtils]: 36: Hoare triple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:05,800 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} {4945#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {4993#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~a~0 0))) (and (= 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-28 07:25:05,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {4993#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~a~0 0))) (and (= 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); {4997#(and (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:25:05,802 INFO L272 TraceCheckUtils]: 39: Hoare triple {4997#(and (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:05,802 INFO L290 TraceCheckUtils]: 40: Hoare triple {5001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:05,802 INFO L290 TraceCheckUtils]: 41: Hoare triple {5005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4872#false} is VALID [2022-04-28 07:25:05,803 INFO L290 TraceCheckUtils]: 42: Hoare triple {4872#false} assume !false; {4872#false} is VALID [2022-04-28 07:25:05,803 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 12 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-28 07:25:05,803 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:25:32,288 INFO L290 TraceCheckUtils]: 42: Hoare triple {4872#false} assume !false; {4872#false} is VALID [2022-04-28 07:25:32,288 INFO L290 TraceCheckUtils]: 41: Hoare triple {5005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4872#false} is VALID [2022-04-28 07:25:32,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {5001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:32,289 INFO L272 TraceCheckUtils]: 39: Hoare triple {5021#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:32,290 INFO L290 TraceCheckUtils]: 38: Hoare triple {5025#(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); {5021#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:25:32,291 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} {4871#true} #77#return; {5025#(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-28 07:25:32,291 INFO L290 TraceCheckUtils]: 36: Hoare triple {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 35: Hoare triple {5038#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 34: Hoare triple {4871#true} ~cond := #in~cond; {5038#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:25:32,292 INFO L272 TraceCheckUtils]: 33: Hoare triple {4871#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 32: Hoare triple {4871#true} assume !false; {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {4871#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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {4871#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)); {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {4871#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4871#true} {4871#true} #77#return; {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:32,292 INFO L290 TraceCheckUtils]: 26: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L272 TraceCheckUtils]: 24: Hoare triple {4871#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {4871#true} assume !false; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {4871#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4871#true} {4871#true} #75#return; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L272 TraceCheckUtils]: 17: Hoare triple {4871#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4871#true} {4871#true} #73#return; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:32,293 INFO L272 TraceCheckUtils]: 12: Hoare triple {4871#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {4871#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4871#true} {4871#true} #71#return; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {4871#true} assume !(0 == ~cond); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {4871#true} ~cond := #in~cond; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {4871#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {4871#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; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {4871#true} call #t~ret6 := main(); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4871#true} {4871#true} #83#return; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {4871#true} assume true; {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {4871#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); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {4871#true} call ULTIMATE.init(); {4871#true} is VALID [2022-04-28 07:25:32,294 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:25:32,295 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:25:32,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [617710608] [2022-04-28 07:25:32,295 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:25:32,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2126641698] [2022-04-28 07:25:32,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2126641698] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:25:32,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:25:32,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 07:25:32,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:25:32,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1864729704] [2022-04-28 07:25:32,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1864729704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:25:32,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:25:32,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:25:32,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692428180] [2022-04-28 07:25:32,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:25:32,296 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-28 07:25:32,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:25:32,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:25:34,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:34,327 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:25:34,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:25:34,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:25:34,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:25:34,328 INFO L87 Difference]: Start difference. First operand 67 states and 85 transitions. Second operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:25:38,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:38,627 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-28 07:25:38,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:25:38,627 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-28 07:25:38,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:25:38,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:25:38,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 07:25:38,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:25:38,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 07:25:38,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 52 transitions. [2022-04-28 07:25:40,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:40,677 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:25:40,678 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 07:25:40,678 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=70, Invalid=310, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:25:40,678 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 23 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:25:40,678 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 133 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 216 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 07:25:40,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 07:25:40,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2022-04-28 07:25:40,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:25:40,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:25:40,807 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:25:40,808 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:25:40,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:40,810 INFO L93 Difference]: Finished difference Result 73 states and 94 transitions. [2022-04-28 07:25:40,810 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 94 transitions. [2022-04-28 07:25:40,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:40,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:40,810 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 73 states. [2022-04-28 07:25:40,810 INFO L87 Difference]: Start difference. First operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 73 states. [2022-04-28 07:25:40,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:40,811 INFO L93 Difference]: Finished difference Result 73 states and 94 transitions. [2022-04-28 07:25:40,812 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 94 transitions. [2022-04-28 07:25:40,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:40,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:40,812 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:25:40,812 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:25:40,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 52 states have (on average 1.3076923076923077) internal successors, (68), 52 states have internal predecessors, (68), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:25:40,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 92 transitions. [2022-04-28 07:25:40,813 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 92 transitions. Word has length 43 [2022-04-28 07:25:40,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:25:40,813 INFO L495 AbstractCegarLoop]: Abstraction has 72 states and 92 transitions. [2022-04-28 07:25:40,814 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 4 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:25:40,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 72 states and 92 transitions. [2022-04-28 07:25:43,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 91 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:43,505 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 92 transitions. [2022-04-28 07:25:43,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 07:25:43,506 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:25:43,506 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:25:43,521 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-28 07:25:43,706 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 07:25:43,706 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:25:43,707 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:25:43,707 INFO L85 PathProgramCache]: Analyzing trace with hash -1372706166, now seen corresponding path program 1 times [2022-04-28 07:25:43,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:25:43,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2116277119] [2022-04-28 07:25:43,708 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:25:43,708 INFO L85 PathProgramCache]: Analyzing trace with hash -1372706166, now seen corresponding path program 2 times [2022-04-28 07:25:43,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:25:43,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [998963300] [2022-04-28 07:25:43,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:25:43,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:25:43,720 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:25:43,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1134590260] [2022-04-28 07:25:43,720 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:25:43,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:25:43,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:25:43,721 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-28 07:25:43,724 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-28 07:25:43,776 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:25:43,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:25:43,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:25:43,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:25:43,795 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:25:53,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {5599#true} call ULTIMATE.init(); {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {5599#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); {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5599#true} {5599#true} #83#return; {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {5599#true} call #t~ret6 := main(); {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {5599#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; {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L272 TraceCheckUtils]: 6: Hoare triple {5599#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:25:53,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5599#true} {5599#true} #71#return; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {5599#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L272 TraceCheckUtils]: 12: Hoare triple {5599#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 15: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5599#true} {5599#true} #73#return; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L272 TraceCheckUtils]: 17: Hoare triple {5599#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5599#true} {5599#true} #75#return; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {5599#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5599#true} is VALID [2022-04-28 07:25:53,972 INFO L290 TraceCheckUtils]: 23: Hoare triple {5599#true} assume !false; {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L272 TraceCheckUtils]: 24: Hoare triple {5599#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L290 TraceCheckUtils]: 25: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L290 TraceCheckUtils]: 26: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L290 TraceCheckUtils]: 27: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5599#true} {5599#true} #77#return; {5599#true} is VALID [2022-04-28 07:25:53,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {5599#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5691#(not (= main_~a~0 0))} is VALID [2022-04-28 07:25:53,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {5691#(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)); {5691#(not (= main_~a~0 0))} is VALID [2022-04-28 07:25:53,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {5691#(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)); {5691#(not (= main_~a~0 0))} is VALID [2022-04-28 07:25:53,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {5691#(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; {5691#(not (= main_~a~0 0))} is VALID [2022-04-28 07:25:53,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {5691#(not (= main_~a~0 0))} assume !false; {5691#(not (= main_~a~0 0))} is VALID [2022-04-28 07:25:53,974 INFO L272 TraceCheckUtils]: 34: Hoare triple {5691#(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)); {5599#true} is VALID [2022-04-28 07:25:53,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {5599#true} ~cond := #in~cond; {5710#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:53,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {5710#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:53,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:55,977 WARN L284 TraceCheckUtils]: 38: Hoare quadruple {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} {5691#(not (= main_~a~0 0))} #77#return; {5721#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} is UNKNOWN [2022-04-28 07:25:55,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {5721#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5725#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:25:55,978 INFO L272 TraceCheckUtils]: 40: Hoare triple {5725#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5729#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:55,979 INFO L290 TraceCheckUtils]: 41: Hoare triple {5729#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5733#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:55,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {5733#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5600#false} is VALID [2022-04-28 07:25:55,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {5600#false} assume !false; {5600#false} is VALID [2022-04-28 07:25:55,979 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 07:25:55,979 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:26:32,865 INFO L290 TraceCheckUtils]: 43: Hoare triple {5600#false} assume !false; {5600#false} is VALID [2022-04-28 07:26:32,866 INFO L290 TraceCheckUtils]: 42: Hoare triple {5733#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5600#false} is VALID [2022-04-28 07:26:32,866 INFO L290 TraceCheckUtils]: 41: Hoare triple {5729#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5733#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:32,866 INFO L272 TraceCheckUtils]: 40: Hoare triple {5725#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5729#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:26:32,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {5752#(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); {5725#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:26:32,868 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} {5599#true} #77#return; {5752#(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-28 07:26:32,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:32,869 INFO L290 TraceCheckUtils]: 36: Hoare triple {5765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5714#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:32,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {5599#true} ~cond := #in~cond; {5765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:26:32,869 INFO L272 TraceCheckUtils]: 34: Hoare triple {5599#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:26:32,869 INFO L290 TraceCheckUtils]: 33: Hoare triple {5599#true} assume !false; {5599#true} is VALID [2022-04-28 07:26:32,869 INFO L290 TraceCheckUtils]: 32: Hoare triple {5599#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);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {5599#true} is VALID [2022-04-28 07:26:32,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {5599#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)); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {5599#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)); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 29: Hoare triple {5599#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5599#true} {5599#true} #77#return; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 27: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 26: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L272 TraceCheckUtils]: 24: Hoare triple {5599#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {5599#true} assume !false; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {5599#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5599#true} {5599#true} #75#return; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:26:32,870 INFO L272 TraceCheckUtils]: 17: Hoare triple {5599#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5599#true} {5599#true} #73#return; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 13: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L272 TraceCheckUtils]: 12: Hoare triple {5599#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 11: Hoare triple {5599#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5599#true} {5599#true} #71#return; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {5599#true} assume !(0 == ~cond); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#true} ~cond := #in~cond; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {5599#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {5599#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; {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {5599#true} call #t~ret6 := main(); {5599#true} is VALID [2022-04-28 07:26:32,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5599#true} {5599#true} #83#return; {5599#true} is VALID [2022-04-28 07:26:32,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {5599#true} assume true; {5599#true} is VALID [2022-04-28 07:26:32,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {5599#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); {5599#true} is VALID [2022-04-28 07:26:32,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {5599#true} call ULTIMATE.init(); {5599#true} is VALID [2022-04-28 07:26:32,872 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:26:32,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:26:32,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [998963300] [2022-04-28 07:26:32,872 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:26:32,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1134590260] [2022-04-28 07:26:32,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1134590260] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:26:32,872 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:26:32,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 07:26:32,873 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:26:32,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2116277119] [2022-04-28 07:26:32,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2116277119] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:26:32,873 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:26:32,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:26:32,873 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331549834] [2022-04-28 07:26:32,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:26:32,873 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 44 [2022-04-28 07:26:32,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:26:32,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:26:34,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:34,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:26:34,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:34,906 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:26:34,906 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:26:34,907 INFO L87 Difference]: Start difference. First operand 72 states and 92 transitions. Second operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:26:38,018 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:26:40,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:40,497 INFO L93 Difference]: Finished difference Result 85 states and 111 transitions. [2022-04-28 07:26:40,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:26:40,497 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 44 [2022-04-28 07:26:40,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:26:40,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:26:40,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:26:40,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:26:40,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:26:40,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 49 transitions. [2022-04-28 07:26:42,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:42,537 INFO L225 Difference]: With dead ends: 85 [2022-04-28 07:26:42,537 INFO L226 Difference]: Without dead ends: 80 [2022-04-28 07:26:42,538 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:26:42,538 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 10 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-28 07:26:42,538 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 144 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 146 Invalid, 1 Unknown, 0 Unchecked, 2.7s Time] [2022-04-28 07:26:42,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-28 07:26:42,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 67. [2022-04-28 07:26:42,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:26:42,655 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:26:42,655 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:26:42,656 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:26:42,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:42,657 INFO L93 Difference]: Finished difference Result 80 states and 105 transitions. [2022-04-28 07:26:42,657 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 105 transitions. [2022-04-28 07:26:42,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:42,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:42,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 80 states. [2022-04-28 07:26:42,658 INFO L87 Difference]: Start difference. First operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 80 states. [2022-04-28 07:26:42,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:42,659 INFO L93 Difference]: Finished difference Result 80 states and 105 transitions. [2022-04-28 07:26:42,659 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 105 transitions. [2022-04-28 07:26:42,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:42,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:42,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:26:42,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:26:42,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:26:42,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 82 transitions. [2022-04-28 07:26:42,661 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 82 transitions. Word has length 44 [2022-04-28 07:26:42,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:26:42,661 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 82 transitions. [2022-04-28 07:26:42,661 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:26:42,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 82 transitions. [2022-04-28 07:26:47,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 80 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:47,177 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 07:26:47,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 07:26:47,178 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:26:47,178 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:26:47,194 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 07:26:47,389 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 07:26:47,389 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:26:47,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:26:47,390 INFO L85 PathProgramCache]: Analyzing trace with hash -1114540728, now seen corresponding path program 1 times [2022-04-28 07:26:47,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:47,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1775619286] [2022-04-28 07:26:47,390 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:26:47,390 INFO L85 PathProgramCache]: Analyzing trace with hash -1114540728, now seen corresponding path program 2 times [2022-04-28 07:26:47,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:26:47,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1103308540] [2022-04-28 07:26:47,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:26:47,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:26:47,400 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:26:47,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395018122] [2022-04-28 07:26:47,400 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:26:47,400 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:26:47,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:26:47,401 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-28 07:26:47,402 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-28 07:26:47,441 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:26:47,441 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:26:47,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 07:26:47,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:26:47,452 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:26:58,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {6343#true} call ULTIMATE.init(); {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {6343#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); {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6343#true} {6343#true} #83#return; {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {6343#true} call #t~ret6 := main(); {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {6343#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; {6343#true} is VALID [2022-04-28 07:26:58,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {6343#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:26:58,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {6343#true} ~cond := #in~cond; {6369#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:26:58,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {6369#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6373#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:58,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {6373#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6373#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:58,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6373#(not (= |assume_abort_if_not_#in~cond| 0))} {6343#true} #71#return; {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:26:58,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:26:58,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:26:58,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:26:58,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:26:58,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:26:58,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6343#true} {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:26:58,381 INFO L272 TraceCheckUtils]: 17: Hoare triple {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:26:58,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {6343#true} ~cond := #in~cond; {6369#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:26:58,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {6369#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6373#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:58,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {6373#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6373#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:58,383 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6373#(not (= |assume_abort_if_not_#in~cond| 0))} {6380#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {6414#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,383 INFO L290 TraceCheckUtils]: 22: Hoare triple {6414#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,383 INFO L272 TraceCheckUtils]: 24: Hoare triple {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~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)); {6343#true} is VALID [2022-04-28 07:26:58,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:26:58,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:26:58,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:26:58,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6343#true} {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {6418#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:58,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {6440#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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; {6450#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} is VALID [2022-04-28 07:26:58,387 INFO L290 TraceCheckUtils]: 33: Hoare triple {6450#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} assume !false; {6450#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} is VALID [2022-04-28 07:26:58,387 INFO L272 TraceCheckUtils]: 34: Hoare triple {6450#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:26:58,387 INFO L290 TraceCheckUtils]: 35: Hoare triple {6343#true} ~cond := #in~cond; {6460#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:58,387 INFO L290 TraceCheckUtils]: 36: Hoare triple {6460#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:58,388 INFO L290 TraceCheckUtils]: 37: Hoare triple {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:00,391 WARN L284 TraceCheckUtils]: 38: Hoare quadruple {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} {6450#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} #77#return; {6471#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} is UNKNOWN [2022-04-28 07:27:00,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {6471#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} assume !(0 != ~a~0 && 0 != ~b~0); {6475#(and (or (and (<= main_~x~0 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 1))) (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:00,393 INFO L272 TraceCheckUtils]: 40: Hoare triple {6475#(and (or (and (<= main_~x~0 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 1))) (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:00,394 INFO L290 TraceCheckUtils]: 41: Hoare triple {6479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:00,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {6483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6344#false} is VALID [2022-04-28 07:27:00,394 INFO L290 TraceCheckUtils]: 43: Hoare triple {6344#false} assume !false; {6344#false} is VALID [2022-04-28 07:27:00,394 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 07:27:00,394 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:27:34,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {6344#false} assume !false; {6344#false} is VALID [2022-04-28 07:27:34,202 INFO L290 TraceCheckUtils]: 42: Hoare triple {6483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6344#false} is VALID [2022-04-28 07:27:34,203 INFO L290 TraceCheckUtils]: 41: Hoare triple {6479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:34,203 INFO L272 TraceCheckUtils]: 40: Hoare triple {6499#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:34,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {6503#(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); {6499#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:27:34,205 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} {6343#true} #77#return; {6503#(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-28 07:27:34,206 INFO L290 TraceCheckUtils]: 37: Hoare triple {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:34,206 INFO L290 TraceCheckUtils]: 36: Hoare triple {6516#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6464#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:34,206 INFO L290 TraceCheckUtils]: 35: Hoare triple {6343#true} ~cond := #in~cond; {6516#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:27:34,206 INFO L272 TraceCheckUtils]: 34: Hoare triple {6343#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:27:34,206 INFO L290 TraceCheckUtils]: 33: Hoare triple {6343#true} assume !false; {6343#true} is VALID [2022-04-28 07:27:34,206 INFO L290 TraceCheckUtils]: 32: Hoare triple {6343#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; {6343#true} is VALID [2022-04-28 07:27:34,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {6343#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)); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {6343#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)); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {6343#true} assume !!(0 != ~a~0 && 0 != ~b~0); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6343#true} {6343#true} #77#return; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 25: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L272 TraceCheckUtils]: 24: Hoare triple {6343#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {6343#true} assume !false; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 22: Hoare triple {6343#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6343#true} {6343#true} #75#return; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:27:34,207 INFO L272 TraceCheckUtils]: 17: Hoare triple {6343#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6343#true} {6343#true} #73#return; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L272 TraceCheckUtils]: 12: Hoare triple {6343#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {6343#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6343#true} {6343#true} #71#return; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {6343#true} assume !(0 == ~cond); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {6343#true} ~cond := #in~cond; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {6343#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {6343#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; {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {6343#true} call #t~ret6 := main(); {6343#true} is VALID [2022-04-28 07:27:34,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6343#true} {6343#true} #83#return; {6343#true} is VALID [2022-04-28 07:27:34,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {6343#true} assume true; {6343#true} is VALID [2022-04-28 07:27:34,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {6343#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); {6343#true} is VALID [2022-04-28 07:27:34,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {6343#true} call ULTIMATE.init(); {6343#true} is VALID [2022-04-28 07:27:34,209 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:27:34,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:34,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1103308540] [2022-04-28 07:27:34,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:34,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395018122] [2022-04-28 07:27:34,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395018122] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:27:34,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:27:34,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 8] total 18 [2022-04-28 07:27:34,210 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:34,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1775619286] [2022-04-28 07:27:34,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1775619286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:34,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:34,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:27:34,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [307399417] [2022-04-28 07:27:34,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:34,210 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 44 [2022-04-28 07:27:34,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:34,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:36,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:36,244 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:27:36,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:36,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:27:36,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:27:36,245 INFO L87 Difference]: Start difference. First operand 67 states and 82 transitions. Second operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:38,880 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:27:42,749 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:27:43,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:43,174 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2022-04-28 07:27:43,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 07:27:43,174 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 44 [2022-04-28 07:27:43,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:43,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:43,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 07:27:43,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:43,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 07:27:43,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 59 transitions. [2022-04-28 07:27:45,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 58 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:45,236 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:27:45,236 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 07:27:45,237 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 70 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=101, Invalid=451, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:27:45,237 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 33 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 11 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 244 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:45,237 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 136 Invalid, 244 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 231 Invalid, 2 Unknown, 0 Unchecked, 5.3s Time] [2022-04-28 07:27:45,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 07:27:45,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 67. [2022-04-28 07:27:45,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:45,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:27:45,379 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:27:45,379 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:27:45,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:45,381 INFO L93 Difference]: Finished difference Result 73 states and 92 transitions. [2022-04-28 07:27:45,381 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 92 transitions. [2022-04-28 07:27:45,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:45,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:45,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 07:27:45,381 INFO L87 Difference]: Start difference. First operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 07:27:45,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:45,382 INFO L93 Difference]: Finished difference Result 73 states and 92 transitions. [2022-04-28 07:27:45,382 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 92 transitions. [2022-04-28 07:27:45,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:45,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:45,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:45,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:45,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 12 states have call successors, (12), 8 states have call predecessors, (12), 6 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:27:45,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 82 transitions. [2022-04-28 07:27:45,384 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 82 transitions. Word has length 44 [2022-04-28 07:27:45,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:45,384 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 82 transitions. [2022-04-28 07:27:45,384 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:45,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 82 transitions. [2022-04-28 07:27:49,893 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 80 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:49,893 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 07:27:49,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 07:27:49,894 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:49,894 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:49,911 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-28 07:27:50,103 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 07:27:50,103 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:50,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:50,104 INFO L85 PathProgramCache]: Analyzing trace with hash -1275543934, now seen corresponding path program 1 times [2022-04-28 07:27:50,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:50,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1651921051] [2022-04-28 07:27:50,104 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:50,104 INFO L85 PathProgramCache]: Analyzing trace with hash -1275543934, now seen corresponding path program 2 times [2022-04-28 07:27:50,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:50,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1739214310] [2022-04-28 07:27:50,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:50,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:50,128 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:50,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1365083429] [2022-04-28 07:27:50,129 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:50,129 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:50,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:50,130 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-28 07:27:50,130 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 07:27:50,168 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:27:50,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:50,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:27:50,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:50,188 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:00,382 INFO L272 TraceCheckUtils]: 0: Hoare triple {7072#true} call ULTIMATE.init(); {7072#true} is VALID [2022-04-28 07:28:00,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {7072#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); {7072#true} is VALID [2022-04-28 07:28:00,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7072#true} {7072#true} #83#return; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L272 TraceCheckUtils]: 4: Hoare triple {7072#true} call #t~ret6 := main(); {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {7072#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; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {7072#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7072#true} {7072#true} #71#return; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {7072#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L272 TraceCheckUtils]: 12: Hoare triple {7072#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,383 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7072#true} {7072#true} #73#return; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L272 TraceCheckUtils]: 17: Hoare triple {7072#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 18: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7072#true} {7072#true} #75#return; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {7072#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {7072#true} assume !false; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L272 TraceCheckUtils]: 24: Hoare triple {7072#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7072#true} {7072#true} #77#return; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {7072#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {7072#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);~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; {7072#true} is VALID [2022-04-28 07:28:00,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {7072#true} assume !false; {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L272 TraceCheckUtils]: 32: Hoare triple {7072#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L290 TraceCheckUtils]: 33: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L290 TraceCheckUtils]: 35: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7072#true} {7072#true} #77#return; {7072#true} is VALID [2022-04-28 07:28:00,385 INFO L290 TraceCheckUtils]: 37: Hoare triple {7072#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7188#(not (= main_~b~0 0))} is VALID [2022-04-28 07:28:00,385 INFO L290 TraceCheckUtils]: 38: Hoare triple {7188#(not (= main_~b~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)); {7188#(not (= main_~b~0 0))} is VALID [2022-04-28 07:28:00,386 INFO L290 TraceCheckUtils]: 39: Hoare triple {7188#(not (= main_~b~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {7188#(not (= main_~b~0 0))} is VALID [2022-04-28 07:28:00,386 INFO L290 TraceCheckUtils]: 40: Hoare triple {7188#(not (= main_~b~0 0))} assume !false; {7188#(not (= main_~b~0 0))} is VALID [2022-04-28 07:28:00,386 INFO L272 TraceCheckUtils]: 41: Hoare triple {7188#(not (= main_~b~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:00,386 INFO L290 TraceCheckUtils]: 42: Hoare triple {7072#true} ~cond := #in~cond; {7204#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:00,387 INFO L290 TraceCheckUtils]: 43: Hoare triple {7204#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:00,387 INFO L290 TraceCheckUtils]: 44: Hoare triple {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:02,390 WARN L284 TraceCheckUtils]: 45: Hoare quadruple {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} {7188#(not (= main_~b~0 0))} #77#return; {7215#(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)) (not (= main_~b~0 0)))} is UNKNOWN [2022-04-28 07:28:02,391 INFO L290 TraceCheckUtils]: 46: Hoare triple {7215#(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)) (not (= main_~b~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {7219#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:28:02,391 INFO L272 TraceCheckUtils]: 47: Hoare triple {7219#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:02,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {7223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:02,392 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7073#false} is VALID [2022-04-28 07:28:02,392 INFO L290 TraceCheckUtils]: 50: Hoare triple {7073#false} assume !false; {7073#false} is VALID [2022-04-28 07:28:02,392 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 07:28:02,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:28:28,951 INFO L290 TraceCheckUtils]: 50: Hoare triple {7073#false} assume !false; {7073#false} is VALID [2022-04-28 07:28:28,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7073#false} is VALID [2022-04-28 07:28:28,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {7223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:28,952 INFO L272 TraceCheckUtils]: 47: Hoare triple {7219#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:28,953 INFO L290 TraceCheckUtils]: 46: Hoare triple {7246#(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); {7219#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:28:28,954 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} {7072#true} #77#return; {7246#(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-28 07:28:28,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:28,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {7259#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7208#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {7072#true} ~cond := #in~cond; {7259#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:28:28,955 INFO L272 TraceCheckUtils]: 41: Hoare triple {7072#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {7072#true} assume !false; {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 39: Hoare triple {7072#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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 38: Hoare triple {7072#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)); {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 37: Hoare triple {7072#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7072#true} {7072#true} #77#return; {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L290 TraceCheckUtils]: 33: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:28,955 INFO L272 TraceCheckUtils]: 32: Hoare triple {7072#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {7072#true} assume !false; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {7072#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);~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; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {7072#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7072#true} {7072#true} #77#return; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L272 TraceCheckUtils]: 24: Hoare triple {7072#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {7072#true} assume !false; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {7072#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7072#true} {7072#true} #75#return; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 19: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:28,956 INFO L272 TraceCheckUtils]: 17: Hoare triple {7072#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7072#true} {7072#true} #73#return; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L272 TraceCheckUtils]: 12: Hoare triple {7072#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {7072#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7072#true} {7072#true} #71#return; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {7072#true} assume !(0 == ~cond); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {7072#true} ~cond := #in~cond; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L272 TraceCheckUtils]: 6: Hoare triple {7072#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {7072#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; {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L272 TraceCheckUtils]: 4: Hoare triple {7072#true} call #t~ret6 := main(); {7072#true} is VALID [2022-04-28 07:28:28,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7072#true} {7072#true} #83#return; {7072#true} is VALID [2022-04-28 07:28:28,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {7072#true} assume true; {7072#true} is VALID [2022-04-28 07:28:28,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {7072#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); {7072#true} is VALID [2022-04-28 07:28:28,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {7072#true} call ULTIMATE.init(); {7072#true} is VALID [2022-04-28 07:28:28,958 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 07:28:28,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:28,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1739214310] [2022-04-28 07:28:28,958 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:28,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365083429] [2022-04-28 07:28:28,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1365083429] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:28:28,958 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:28:28,958 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 07:28:28,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:28,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1651921051] [2022-04-28 07:28:28,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1651921051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:28,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:28,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:28:28,959 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664753616] [2022-04-28 07:28:28,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:28,959 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-04-28 07:28:28,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:28,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:28:30,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:30,990 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:28:30,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:30,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:28:30,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:28:30,991 INFO L87 Difference]: Start difference. First operand 67 states and 82 transitions. Second operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:28:34,041 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:28:36,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:36,940 INFO L93 Difference]: Finished difference Result 81 states and 101 transitions. [2022-04-28 07:28:36,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:28:36,941 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-04-28 07:28:36,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:36,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:28:36,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:28:36,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:28:36,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:28:36,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 49 transitions. [2022-04-28 07:28:38,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:38,985 INFO L225 Difference]: With dead ends: 81 [2022-04-28 07:28:38,985 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 07:28:38,985 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:28:38,986 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 11 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-28 07:28:38,986 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 158 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 151 Invalid, 1 Unknown, 0 Unchecked, 3.9s Time] [2022-04-28 07:28:38,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 07:28:39,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 62. [2022-04-28 07:28:39,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:39,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:39,112 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:39,112 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:39,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:39,114 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-04-28 07:28:39,114 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 96 transitions. [2022-04-28 07:28:39,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:39,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:39,114 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 76 states. [2022-04-28 07:28:39,114 INFO L87 Difference]: Start difference. First operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 76 states. [2022-04-28 07:28:39,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:39,115 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-04-28 07:28:39,115 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 96 transitions. [2022-04-28 07:28:39,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:39,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:39,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:39,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:39,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:39,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 74 transitions. [2022-04-28 07:28:39,117 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 74 transitions. Word has length 51 [2022-04-28 07:28:39,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:39,117 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 74 transitions. [2022-04-28 07:28:39,117 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:28:39,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 74 transitions. [2022-04-28 07:28:41,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 73 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:41,572 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 74 transitions. [2022-04-28 07:28:41,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 07:28:41,572 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:41,572 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 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-28 07:28:41,588 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 07:28:41,772 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 07:28:41,773 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:41,773 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:41,773 INFO L85 PathProgramCache]: Analyzing trace with hash 2079436449, now seen corresponding path program 1 times [2022-04-28 07:28:41,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:41,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2120239839] [2022-04-28 07:28:41,773 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:41,774 INFO L85 PathProgramCache]: Analyzing trace with hash 2079436449, now seen corresponding path program 2 times [2022-04-28 07:28:41,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:41,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1206651358] [2022-04-28 07:28:41,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:41,774 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:41,795 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:41,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1430378087] [2022-04-28 07:28:41,795 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:41,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:41,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:41,797 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:28:41,797 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 07:28:41,837 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:41,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:41,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 07:28:41,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:41,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:52,687 INFO L272 TraceCheckUtils]: 0: Hoare triple {7832#true} call ULTIMATE.init(); {7832#true} is VALID [2022-04-28 07:28:52,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {7832#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); {7832#true} is VALID [2022-04-28 07:28:52,687 INFO L290 TraceCheckUtils]: 2: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:28:52,687 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7832#true} {7832#true} #83#return; {7832#true} is VALID [2022-04-28 07:28:52,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {7832#true} call #t~ret6 := main(); {7832#true} is VALID [2022-04-28 07:28:52,688 INFO L290 TraceCheckUtils]: 5: Hoare triple {7832#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; {7832#true} is VALID [2022-04-28 07:28:52,688 INFO L272 TraceCheckUtils]: 6: Hoare triple {7832#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,688 INFO L290 TraceCheckUtils]: 7: Hoare triple {7832#true} ~cond := #in~cond; {7858#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:28:52,688 INFO L290 TraceCheckUtils]: 8: Hoare triple {7858#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7862#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:52,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {7862#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7862#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:52,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7862#(not (= |assume_abort_if_not_#in~cond| 0))} {7832#true} #71#return; {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:28:52,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:28:52,690 INFO L272 TraceCheckUtils]: 12: Hoare triple {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7832#true} {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:28:52,690 INFO L272 TraceCheckUtils]: 17: Hoare triple {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:28:52,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:28:52,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:28:52,691 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7832#true} {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:28:52,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {7869#(and (<= main_~x~0 10) (<= 0 main_~x~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:28:52,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} assume !false; {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:28:52,692 INFO L272 TraceCheckUtils]: 24: Hoare triple {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:28:52,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:28:52,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:28:52,693 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7832#true} {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} #77#return; {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:28:52,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {7906#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {7928#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:28:52,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {7928#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= main_~x~0 main_~a~0) (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);~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; {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} assume !false; {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,695 INFO L272 TraceCheckUtils]: 32: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,695 INFO L290 TraceCheckUtils]: 33: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:28:52,695 INFO L290 TraceCheckUtils]: 34: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:28:52,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:28:52,696 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7832#true} {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} #77#return; {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,696 INFO L290 TraceCheckUtils]: 37: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~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)); {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~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)); {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-28 07:28:52,698 INFO L290 TraceCheckUtils]: 40: Hoare triple {7932#(and (<= (div (- main_~x~0) (- 2)) main_~a~0) (<= main_~x~0 10) (<= 0 main_~x~0) (< 0 main_~a~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; {7963#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:28:52,698 INFO L290 TraceCheckUtils]: 41: Hoare triple {7963#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !false; {7963#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:28:52,699 INFO L272 TraceCheckUtils]: 42: Hoare triple {7963#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:28:52,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {7832#true} ~cond := #in~cond; {7973#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:52,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {7973#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:52,699 INFO L290 TraceCheckUtils]: 45: Hoare triple {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:54,702 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} {7963#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} #77#return; {7984#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} is UNKNOWN [2022-04-28 07:28:54,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {7984#(and (< 0 (+ main_~a~0 1)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} assume !(0 != ~a~0 && 0 != ~b~0); {7988#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0))} is VALID [2022-04-28 07:28:54,704 INFO L272 TraceCheckUtils]: 48: Hoare triple {7988#(and (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7992#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:54,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {7992#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7996#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:54,705 INFO L290 TraceCheckUtils]: 50: Hoare triple {7996#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7833#false} is VALID [2022-04-28 07:28:54,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {7833#false} assume !false; {7833#false} is VALID [2022-04-28 07:28:54,705 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 11 proven. 17 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:28:54,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:19,402 INFO L290 TraceCheckUtils]: 51: Hoare triple {7833#false} assume !false; {7833#false} is VALID [2022-04-28 07:29:19,402 INFO L290 TraceCheckUtils]: 50: Hoare triple {7996#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7833#false} is VALID [2022-04-28 07:29:19,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {7992#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7996#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:19,403 INFO L272 TraceCheckUtils]: 48: Hoare triple {8012#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7992#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:19,404 INFO L290 TraceCheckUtils]: 47: Hoare triple {8016#(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); {8012#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:29:19,405 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} {7832#true} #77#return; {8016#(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-28 07:29:19,406 INFO L290 TraceCheckUtils]: 45: Hoare triple {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:19,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {8029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7977#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:19,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {7832#true} ~cond := #in~cond; {8029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:29:19,406 INFO L272 TraceCheckUtils]: 42: Hoare triple {7832#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,406 INFO L290 TraceCheckUtils]: 41: Hoare triple {7832#true} assume !false; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {7832#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; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {7832#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)); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {7832#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)); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {7832#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7832#true} {7832#true} #77#return; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 35: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 33: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L272 TraceCheckUtils]: 32: Hoare triple {7832#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {7832#true} assume !false; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {7832#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);~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; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {7832#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7832#true} {7832#true} #77#return; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 27: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,407 INFO L290 TraceCheckUtils]: 26: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L272 TraceCheckUtils]: 24: Hoare triple {7832#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {7832#true} assume !false; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 22: Hoare triple {7832#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7832#true} {7832#true} #75#return; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L272 TraceCheckUtils]: 17: Hoare triple {7832#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7832#true} {7832#true} #73#return; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 15: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 14: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:29:19,408 INFO L272 TraceCheckUtils]: 12: Hoare triple {7832#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 11: Hoare triple {7832#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7832#true} {7832#true} #71#return; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {7832#true} assume !(0 == ~cond); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {7832#true} ~cond := #in~cond; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L272 TraceCheckUtils]: 6: Hoare triple {7832#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {7832#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; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {7832#true} call #t~ret6 := main(); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7832#true} {7832#true} #83#return; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {7832#true} assume true; {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {7832#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); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {7832#true} call ULTIMATE.init(); {7832#true} is VALID [2022-04-28 07:29:19,409 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 07:29:19,410 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:19,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1206651358] [2022-04-28 07:29:19,410 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:19,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1430378087] [2022-04-28 07:29:19,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1430378087] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:19,410 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:19,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 8] total 18 [2022-04-28 07:29:19,410 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:19,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2120239839] [2022-04-28 07:29:19,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2120239839] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:19,410 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:19,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:29:19,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1800475102] [2022-04-28 07:29:19,411 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:19,411 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 52 [2022-04-28 07:29:19,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:19,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:29:21,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 45 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:21,450 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:29:21,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:21,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:29:21,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:29:21,450 INFO L87 Difference]: Start difference. First operand 62 states and 74 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:29:23,950 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:29:30,683 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:29:31,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:31,191 INFO L93 Difference]: Finished difference Result 88 states and 113 transitions. [2022-04-28 07:29:31,191 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 07:29:31,191 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 52 [2022-04-28 07:29:31,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:31,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:29:31,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2022-04-28 07:29:31,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:29:31,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2022-04-28 07:29:31,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 73 transitions. [2022-04-28 07:29:37,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 70 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:37,274 INFO L225 Difference]: With dead ends: 88 [2022-04-28 07:29:37,274 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 07:29:37,274 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=103, Invalid=497, Unknown=0, NotChecked=0, Total=600 [2022-04-28 07:29:37,275 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 36 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 269 mSolverCounterSat, 21 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 269 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:37,275 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 152 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 269 Invalid, 2 Unknown, 0 Unchecked, 6.0s Time] [2022-04-28 07:29:37,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 07:29:37,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 74. [2022-04-28 07:29:37,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:37,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:37,483 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:37,483 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:37,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:37,484 INFO L93 Difference]: Finished difference Result 83 states and 108 transitions. [2022-04-28 07:29:37,484 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 108 transitions. [2022-04-28 07:29:37,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:37,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:37,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 83 states. [2022-04-28 07:29:37,485 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 83 states. [2022-04-28 07:29:37,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:37,486 INFO L93 Difference]: Finished difference Result 83 states and 108 transitions. [2022-04-28 07:29:37,486 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 108 transitions. [2022-04-28 07:29:37,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:37,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:37,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:37,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:37,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:37,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 94 transitions. [2022-04-28 07:29:37,487 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 94 transitions. Word has length 52 [2022-04-28 07:29:37,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:37,488 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 94 transitions. [2022-04-28 07:29:37,488 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:29:37,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 94 transitions. [2022-04-28 07:29:44,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 91 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:44,264 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 94 transitions. [2022-04-28 07:29:44,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 07:29:44,264 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:44,265 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:44,282 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:44,475 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 07:29:44,475 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:44,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:44,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1287237523, now seen corresponding path program 1 times [2022-04-28 07:29:44,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:44,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1600338868] [2022-04-28 07:29:44,476 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:44,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1287237523, now seen corresponding path program 2 times [2022-04-28 07:29:44,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:44,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [365687124] [2022-04-28 07:29:44,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:44,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:44,499 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:44,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1376721235] [2022-04-28 07:29:44,500 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:44,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:44,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:44,505 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:44,506 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 07:29:44,545 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:29:44,546 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:44,546 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 07:29:44,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:44,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:45,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {8665#true} call ULTIMATE.init(); {8665#true} is VALID [2022-04-28 07:29:45,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {8665#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); {8665#true} is VALID [2022-04-28 07:29:45,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8665#true} {8665#true} #83#return; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {8665#true} call #t~ret6 := main(); {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {8665#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; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L272 TraceCheckUtils]: 6: Hoare triple {8665#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8665#true} {8665#true} #71#return; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {8665#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L272 TraceCheckUtils]: 12: Hoare triple {8665#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8665#true} {8665#true} #73#return; {8665#true} is VALID [2022-04-28 07:29:45,743 INFO L272 TraceCheckUtils]: 17: Hoare triple {8665#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:45,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {8665#true} ~cond := #in~cond; {8724#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:29:45,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {8724#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8728#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:45,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {8728#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8728#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:45,745 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8728#(not (= |assume_abort_if_not_#in~cond| 0))} {8665#true} #75#return; {8735#(<= 1 main_~y~0)} is VALID [2022-04-28 07:29:45,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {8735#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8739#(<= 1 main_~b~0)} is VALID [2022-04-28 07:29:45,745 INFO L290 TraceCheckUtils]: 23: Hoare triple {8739#(<= 1 main_~b~0)} assume !false; {8739#(<= 1 main_~b~0)} is VALID [2022-04-28 07:29:45,745 INFO L272 TraceCheckUtils]: 24: Hoare triple {8739#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:45,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:45,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:45,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:45,746 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8665#true} {8739#(<= 1 main_~b~0)} #77#return; {8739#(<= 1 main_~b~0)} is VALID [2022-04-28 07:29:45,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {8739#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {8761#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {8761#(and (not (= main_~a~0 0)) (<= 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)); {8761#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,748 INFO L290 TraceCheckUtils]: 31: Hoare triple {8761#(and (not (= main_~a~0 0)) (<= 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,748 INFO L290 TraceCheckUtils]: 32: Hoare triple {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} assume !false; {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,749 INFO L272 TraceCheckUtils]: 33: Hoare triple {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:45,749 INFO L290 TraceCheckUtils]: 34: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:45,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:45,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:45,749 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8665#true} {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} #77#return; {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,750 INFO L290 TraceCheckUtils]: 38: Hoare triple {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,750 INFO L290 TraceCheckUtils]: 39: Hoare triple {8768#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 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)); {8793#(and (<= (mod main_~b~0 2) 0) (not (= (mod main_~a~0 2) 0)) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {8793#(and (<= (mod main_~b~0 2) 0) (not (= (mod main_~a~0 2) 0)) (< 0 (+ (div main_~a~0 2) 1)) (<= 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)); {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {8666#false} 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; {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {8666#false} assume !false; {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L272 TraceCheckUtils]: 43: Hoare triple {8666#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 44: Hoare triple {8666#false} ~cond := #in~cond; {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 45: Hoare triple {8666#false} assume !(0 == ~cond); {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 46: Hoare triple {8666#false} assume true; {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8666#false} {8666#false} #77#return; {8666#false} is VALID [2022-04-28 07:29:45,751 INFO L290 TraceCheckUtils]: 48: Hoare triple {8666#false} assume !(0 != ~a~0 && 0 != ~b~0); {8666#false} is VALID [2022-04-28 07:29:45,752 INFO L272 TraceCheckUtils]: 49: Hoare triple {8666#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8666#false} is VALID [2022-04-28 07:29:45,752 INFO L290 TraceCheckUtils]: 50: Hoare triple {8666#false} ~cond := #in~cond; {8666#false} is VALID [2022-04-28 07:29:45,752 INFO L290 TraceCheckUtils]: 51: Hoare triple {8666#false} assume 0 == ~cond; {8666#false} is VALID [2022-04-28 07:29:45,752 INFO L290 TraceCheckUtils]: 52: Hoare triple {8666#false} assume !false; {8666#false} is VALID [2022-04-28 07:29:45,752 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 28 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:29:45,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 52: Hoare triple {8666#false} assume !false; {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 51: Hoare triple {8666#false} assume 0 == ~cond; {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 50: Hoare triple {8666#false} ~cond := #in~cond; {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L272 TraceCheckUtils]: 49: Hoare triple {8666#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {8666#false} assume !(0 != ~a~0 && 0 != ~b~0); {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8665#true} {8666#false} #77#return; {8666#false} is VALID [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 46: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:46,665 INFO L290 TraceCheckUtils]: 44: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:46,665 INFO L272 TraceCheckUtils]: 43: Hoare triple {8666#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,665 INFO L290 TraceCheckUtils]: 42: Hoare triple {8666#false} assume !false; {8666#false} is VALID [2022-04-28 07:29:46,665 INFO L290 TraceCheckUtils]: 41: Hoare triple {8666#false} 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; {8666#false} is VALID [2022-04-28 07:29:46,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {8869#(and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {8666#false} is VALID [2022-04-28 07:29:46,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {8869#(and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~0))} is VALID [2022-04-28 07:29:46,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:46,667 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8665#true} {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} #77#return; {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:46,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,667 INFO L290 TraceCheckUtils]: 35: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:46,667 INFO L290 TraceCheckUtils]: 34: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:46,667 INFO L272 TraceCheckUtils]: 33: Hoare triple {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !false; {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:46,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {8898#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {8873#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:46,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {8898#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~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)); {8898#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 07:29:46,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {8898#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 07:29:46,670 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8665#true} {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} #77#return; {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:46,670 INFO L290 TraceCheckUtils]: 27: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,671 INFO L290 TraceCheckUtils]: 26: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:46,671 INFO L290 TraceCheckUtils]: 25: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:46,671 INFO L272 TraceCheckUtils]: 24: Hoare triple {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} assume !false; {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:46,672 INFO L290 TraceCheckUtils]: 22: Hoare triple {8927#(<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8905#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:46,672 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8728#(not (= |assume_abort_if_not_#in~cond| 0))} {8665#true} #75#return; {8927#(<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1))} is VALID [2022-04-28 07:29:46,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {8728#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8728#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:46,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {8940#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8728#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:46,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {8665#true} ~cond := #in~cond; {8940#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:29:46,673 INFO L272 TraceCheckUtils]: 17: Hoare triple {8665#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,673 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8665#true} {8665#true} #73#return; {8665#true} is VALID [2022-04-28 07:29:46,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:46,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L272 TraceCheckUtils]: 12: Hoare triple {8665#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {8665#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8665#true} {8665#true} #71#return; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {8665#true} assume !(0 == ~cond); {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {8665#true} ~cond := #in~cond; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L272 TraceCheckUtils]: 6: Hoare triple {8665#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {8665#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; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {8665#true} call #t~ret6 := main(); {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8665#true} {8665#true} #83#return; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {8665#true} assume true; {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {8665#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); {8665#true} is VALID [2022-04-28 07:29:46,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {8665#true} call ULTIMATE.init(); {8665#true} is VALID [2022-04-28 07:29:46,675 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 23 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 07:29:46,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:46,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [365687124] [2022-04-28 07:29:46,675 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:46,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1376721235] [2022-04-28 07:29:46,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1376721235] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:29:46,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:29:46,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [9] total 15 [2022-04-28 07:29:46,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:46,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1600338868] [2022-04-28 07:29:46,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1600338868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:46,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:46,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:29:46,676 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1978804711] [2022-04-28 07:29:46,676 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:46,676 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 53 [2022-04-28 07:29:46,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:46,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:46,720 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-28 07:29:46,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:29:46,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:46,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:29:46,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:29:46,721 INFO L87 Difference]: Start difference. First operand 74 states and 94 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:47,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:47,520 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-04-28 07:29:47,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:29:47,520 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 53 [2022-04-28 07:29:47,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:47,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:47,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 07:29:47,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:47,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 07:29:47,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-04-28 07:29:47,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:47,578 INFO L225 Difference]: With dead ends: 108 [2022-04-28 07:29:47,578 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 07:29:47,579 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 92 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=80, Invalid=262, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:29:47,579 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 23 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:47,579 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 112 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:29:47,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 07:29:47,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 68. [2022-04-28 07:29:47,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:47,760 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:47,760 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:47,760 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:47,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:47,762 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-28 07:29:47,762 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-28 07:29:47,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:47,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:47,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 76 states. [2022-04-28 07:29:47,762 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 76 states. [2022-04-28 07:29:47,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:47,763 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-28 07:29:47,763 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-28 07:29:47,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:47,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:47,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:47,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:47,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 49 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:29:47,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-28 07:29:47,765 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 53 [2022-04-28 07:29:47,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:47,765 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-28 07:29:47,765 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:47,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-28 07:29:54,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 80 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:54,602 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-28 07:29:54,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 07:29:54,603 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:54,603 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:54,619 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:54,803 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:54,804 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:54,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:54,804 INFO L85 PathProgramCache]: Analyzing trace with hash 338559610, now seen corresponding path program 3 times [2022-04-28 07:29:54,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:54,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [503485647] [2022-04-28 07:29:54,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:54,805 INFO L85 PathProgramCache]: Analyzing trace with hash 338559610, now seen corresponding path program 4 times [2022-04-28 07:29:54,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:54,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653306975] [2022-04-28 07:29:54,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:54,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:54,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:54,815 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1887919911] [2022-04-28 07:29:54,816 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:29:54,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:54,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:54,816 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:54,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 07:29:54,851 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:29:54,851 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:54,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 07:29:54,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:54,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:55,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {9509#true} call ULTIMATE.init(); {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {9509#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); {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9509#true} {9509#true} #83#return; {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {9509#true} call #t~ret6 := main(); {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {9509#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; {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L272 TraceCheckUtils]: 6: Hoare triple {9509#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:55,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {9509#true} ~cond := #in~cond; {9535#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:29:55,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {9535#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:55,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:55,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} {9509#true} #71#return; {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:29:55,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:29:55,841 INFO L272 TraceCheckUtils]: 12: Hoare triple {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:55,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:55,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:55,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:55,841 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9509#true} {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:29:55,842 INFO L272 TraceCheckUtils]: 17: Hoare triple {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:55,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {9509#true} ~cond := #in~cond; {9535#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:29:55,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {9535#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:55,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:55,843 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} {9546#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {9580#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:55,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {9580#(and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,844 INFO L272 TraceCheckUtils]: 24: Hoare triple {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:55,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:55,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:55,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:55,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9509#true} {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {9584#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {9606#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {9606#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 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)); {9610#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {9610#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 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)); {9614#(and (not (= (mod main_~b~0 2) 0)) (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:55,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {9614#(and (not (= (mod main_~b~0 2) 0)) (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 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; {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} assume !false; {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,848 INFO L272 TraceCheckUtils]: 34: Hoare triple {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:55,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:55,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:55,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:55,849 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9509#true} {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} #77#return; {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,850 INFO L290 TraceCheckUtils]: 40: Hoare triple {9618#(and (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 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)); {9643#(and (not (= (mod main_~b~0 2) 0)) (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {9643#(and (not (= (mod main_~b~0 2) 0)) (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 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)); {9643#(and (not (= (mod main_~b~0 2) 0)) (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:55,851 INFO L290 TraceCheckUtils]: 42: Hoare triple {9643#(and (not (= (mod main_~b~0 2) 0)) (<= 0 (+ main_~a~0 1)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 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; {9510#false} is VALID [2022-04-28 07:29:55,851 INFO L290 TraceCheckUtils]: 43: Hoare triple {9510#false} assume !false; {9510#false} is VALID [2022-04-28 07:29:55,851 INFO L272 TraceCheckUtils]: 44: Hoare triple {9510#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9510#false} is VALID [2022-04-28 07:29:55,851 INFO L290 TraceCheckUtils]: 45: Hoare triple {9510#false} ~cond := #in~cond; {9510#false} is VALID [2022-04-28 07:29:55,851 INFO L290 TraceCheckUtils]: 46: Hoare triple {9510#false} assume !(0 == ~cond); {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L290 TraceCheckUtils]: 47: Hoare triple {9510#false} assume true; {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9510#false} {9510#false} #77#return; {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L290 TraceCheckUtils]: 49: Hoare triple {9510#false} assume !(0 != ~a~0 && 0 != ~b~0); {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L272 TraceCheckUtils]: 50: Hoare triple {9510#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L290 TraceCheckUtils]: 51: Hoare triple {9510#false} ~cond := #in~cond; {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {9510#false} assume 0 == ~cond; {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L290 TraceCheckUtils]: 53: Hoare triple {9510#false} assume !false; {9510#false} is VALID [2022-04-28 07:29:55,852 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 21 proven. 9 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:29:55,852 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:57,156 INFO L290 TraceCheckUtils]: 53: Hoare triple {9510#false} assume !false; {9510#false} is VALID [2022-04-28 07:29:57,156 INFO L290 TraceCheckUtils]: 52: Hoare triple {9510#false} assume 0 == ~cond; {9510#false} is VALID [2022-04-28 07:29:57,156 INFO L290 TraceCheckUtils]: 51: Hoare triple {9510#false} ~cond := #in~cond; {9510#false} is VALID [2022-04-28 07:29:57,156 INFO L272 TraceCheckUtils]: 50: Hoare triple {9510#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9510#false} is VALID [2022-04-28 07:29:57,156 INFO L290 TraceCheckUtils]: 49: Hoare triple {9510#false} assume !(0 != ~a~0 && 0 != ~b~0); {9510#false} is VALID [2022-04-28 07:29:57,156 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9509#true} {9510#false} #77#return; {9510#false} is VALID [2022-04-28 07:29:57,157 INFO L290 TraceCheckUtils]: 47: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,157 INFO L290 TraceCheckUtils]: 46: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:57,157 INFO L290 TraceCheckUtils]: 45: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:57,157 INFO L272 TraceCheckUtils]: 44: Hoare triple {9510#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {9510#false} assume !false; {9510#false} is VALID [2022-04-28 07:29:57,157 INFO L290 TraceCheckUtils]: 42: Hoare triple {9716#(and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 1) (<= 0 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; {9510#false} is VALID [2022-04-28 07:29:57,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {9720#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {9716#(and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 1) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:57,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {9720#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:57,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:57,160 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9509#true} {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} #77#return; {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:57,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,160 INFO L290 TraceCheckUtils]: 36: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:57,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:57,160 INFO L272 TraceCheckUtils]: 34: Hoare triple {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !false; {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:57,162 INFO L290 TraceCheckUtils]: 32: Hoare triple {9749#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (<= 1 main_~b~0) (= (mod (+ main_~a~0 1) 2) 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; {9724#(or (and (= (mod main_~a~0 2) 0) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:29:57,163 INFO L290 TraceCheckUtils]: 31: Hoare triple {9753#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (and (<= 1 main_~b~0) (= (mod (+ main_~a~0 1) 2) 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)); {9749#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (<= 1 main_~b~0) (= (mod (+ main_~a~0 1) 2) 0)))} is VALID [2022-04-28 07:29:57,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {9757#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 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)); {9753#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (and (<= 1 main_~b~0) (= (mod (+ main_~a~0 1) 2) 0)))} is VALID [2022-04-28 07:29:57,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {9757#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:57,165 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9509#true} {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} #77#return; {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:57,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:57,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:57,165 INFO L272 TraceCheckUtils]: 24: Hoare triple {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,166 INFO L290 TraceCheckUtils]: 23: Hoare triple {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} assume !false; {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:57,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {9783#(and (<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1)) (or (<= 0 (+ (div (+ (- 2) main_~x~0) 2) 1)) (<= 1 main_~y~0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {9761#(or (= main_~a~0 0) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:57,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} {9509#true} #75#return; {9783#(and (<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1)) (or (<= 0 (+ (div (+ (- 2) main_~x~0) 2) 1)) (<= 1 main_~y~0)))} is VALID [2022-04-28 07:29:57,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {9539#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:57,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {9796#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9539#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:57,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {9509#true} ~cond := #in~cond; {9796#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:29:57,168 INFO L272 TraceCheckUtils]: 17: Hoare triple {9509#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,168 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9509#true} {9509#true} #73#return; {9509#true} is VALID [2022-04-28 07:29:57,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:57,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L272 TraceCheckUtils]: 12: Hoare triple {9509#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {9509#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9509#true} {9509#true} #71#return; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {9509#true} assume !(0 == ~cond); {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {9509#true} ~cond := #in~cond; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L272 TraceCheckUtils]: 6: Hoare triple {9509#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 5: Hoare triple {9509#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; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {9509#true} call #t~ret6 := main(); {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9509#true} {9509#true} #83#return; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {9509#true} assume true; {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {9509#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); {9509#true} is VALID [2022-04-28 07:29:57,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {9509#true} call ULTIMATE.init(); {9509#true} is VALID [2022-04-28 07:29:57,170 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 07:29:57,170 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:57,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [653306975] [2022-04-28 07:29:57,170 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:57,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1887919911] [2022-04-28 07:29:57,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1887919911] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:29:57,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:29:57,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [12] total 21 [2022-04-28 07:29:57,171 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:57,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [503485647] [2022-04-28 07:29:57,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [503485647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:57,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:57,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:29:57,171 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [651414775] [2022-04-28 07:29:57,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:57,172 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 54 [2022-04-28 07:29:57,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:57,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:57,202 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:57,202 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:29:57,202 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:57,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:29:57,203 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:29:57,203 INFO L87 Difference]: Start difference. First operand 68 states and 83 transitions. Second operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:58,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:58,570 INFO L93 Difference]: Finished difference Result 97 states and 122 transitions. [2022-04-28 07:29:58,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 07:29:58,571 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 54 [2022-04-28 07:29:58,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:58,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:58,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 71 transitions. [2022-04-28 07:29:58,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:58,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 71 transitions. [2022-04-28 07:29:58,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 71 transitions. [2022-04-28 07:29:58,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:58,649 INFO L225 Difference]: With dead ends: 97 [2022-04-28 07:29:58,649 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 07:29:58,649 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=145, Invalid=557, Unknown=0, NotChecked=0, Total=702 [2022-04-28 07:29:58,650 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 23 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 132 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:58,650 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 112 Invalid, 132 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 07:29:58,650 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 07:29:58,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 07:29:58,888 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:58,888 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:29:58,889 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:29:58,889 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:29:58,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:58,890 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-28 07:29:58,890 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-28 07:29:58,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:58,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:58,890 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 74 states. [2022-04-28 07:29:58,890 INFO L87 Difference]: Start difference. First operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 74 states. [2022-04-28 07:29:58,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:58,892 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-28 07:29:58,892 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-28 07:29:58,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:58,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:58,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:58,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:58,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 53 states have (on average 1.2452830188679245) internal successors, (66), 54 states have internal predecessors, (66), 14 states have call successors, (14), 8 states have call predecessors, (14), 6 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:29:58,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 92 transitions. [2022-04-28 07:29:58,893 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 92 transitions. Word has length 54 [2022-04-28 07:29:58,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:58,893 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 92 transitions. [2022-04-28 07:29:58,893 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:58,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 92 transitions. [2022-04-28 07:30:07,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 88 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:07,870 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-28 07:30:07,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 07:30:07,870 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:07,870 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:30:07,886 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 07:30:08,072 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 07:30:08,073 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:08,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:08,073 INFO L85 PathProgramCache]: Analyzing trace with hash -1563197702, now seen corresponding path program 3 times [2022-04-28 07:30:08,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:08,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [479651575] [2022-04-28 07:30:08,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:08,073 INFO L85 PathProgramCache]: Analyzing trace with hash -1563197702, now seen corresponding path program 4 times [2022-04-28 07:30:08,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:08,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1574215050] [2022-04-28 07:30:08,074 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:08,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:08,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:08,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [356262419] [2022-04-28 07:30:08,083 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:30:08,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:08,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:08,084 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:30:08,085 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 07:30:08,124 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:30:08,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:08,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 07:30:08,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:08,143 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:13,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {10355#true} call ULTIMATE.init(); {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {10355#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); {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10355#true} {10355#true} #83#return; {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {10355#true} call #t~ret6 := main(); {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {10355#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; {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {10355#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {10355#true} is VALID [2022-04-28 07:30:13,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#true} ~cond := #in~cond; {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:13,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,602 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} {10355#true} #71#return; {10392#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:30:13,602 INFO L290 TraceCheckUtils]: 11: Hoare triple {10392#(and (<= main_~x~0 10) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10392#(and (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:30:13,602 INFO L272 TraceCheckUtils]: 12: Hoare triple {10392#(and (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {10355#true} is VALID [2022-04-28 07:30:13,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#true} ~cond := #in~cond; {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:13,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,603 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} {10392#(and (<= main_~x~0 10) (<= 0 main_~x~0))} #73#return; {10411#(and (<= 0 main_~y~0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0))} is VALID [2022-04-28 07:30:13,603 INFO L272 TraceCheckUtils]: 17: Hoare triple {10411#(and (<= 0 main_~y~0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10355#true} is VALID [2022-04-28 07:30:13,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {10355#true} ~cond := #in~cond; {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:13,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {10381#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10385#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:13,605 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10385#(not (= |assume_abort_if_not_#in~cond| 0))} {10411#(and (<= 0 main_~y~0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0))} #75#return; {10427#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {10427#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,605 INFO L290 TraceCheckUtils]: 23: Hoare triple {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,606 INFO L272 TraceCheckUtils]: 24: Hoare triple {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~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)); {10355#true} is VALID [2022-04-28 07:30:13,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-28 07:30:13,606 INFO L290 TraceCheckUtils]: 26: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-28 07:30:13,606 INFO L290 TraceCheckUtils]: 27: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-28 07:30:13,606 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10355#true} {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {10431#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {10453#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,608 INFO L290 TraceCheckUtils]: 30: Hoare triple {10453#(and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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; {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:13,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !false; {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:13,608 INFO L272 TraceCheckUtils]: 32: Hoare triple {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-28 07:30:13,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-28 07:30:13,608 INFO L290 TraceCheckUtils]: 34: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-28 07:30:13,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-28 07:30:13,609 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10355#true} {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} #77#return; {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:13,609 INFO L290 TraceCheckUtils]: 37: Hoare triple {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !!(0 != ~a~0 && 0 != ~b~0); {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:13,611 INFO L290 TraceCheckUtils]: 38: Hoare triple {10457#(and (<= main_~y~0 10) (= (div main_~y~0 2) main_~b~0) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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; {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,611 INFO L290 TraceCheckUtils]: 39: Hoare triple {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} assume !false; {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,611 INFO L272 TraceCheckUtils]: 40: Hoare triple {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-28 07:30:13,611 INFO L290 TraceCheckUtils]: 41: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-28 07:30:13,611 INFO L290 TraceCheckUtils]: 42: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-28 07:30:13,612 INFO L290 TraceCheckUtils]: 43: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-28 07:30:13,612 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10355#true} {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} #77#return; {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {10482#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~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)); {10507#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {10507#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (< (div (- (div (* (- 1) main_~x~0) (- 2))) (- 2)) (+ main_~a~0 1)) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~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)); {10511#(and (not (= (mod main_~b~0 2) 0)) (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,616 INFO L290 TraceCheckUtils]: 48: Hoare triple {10511#(and (not (= (mod main_~b~0 2) 0)) (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~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; {10515#(and (<= (mod (div main_~y~0 2) 2) 0) (not (= 0 (mod (+ main_~b~0 1) 2))) (<= main_~y~0 10) (= (+ main_~b~0 1) (div (div main_~y~0 2) 2)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {10515#(and (<= (mod (div main_~y~0 2) 2) 0) (not (= 0 (mod (+ main_~b~0 1) 2))) (<= main_~y~0 10) (= (+ main_~b~0 1) (div (div main_~y~0 2) 2)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !false; {10515#(and (<= (mod (div main_~y~0 2) 2) 0) (not (= 0 (mod (+ main_~b~0 1) 2))) (<= main_~y~0 10) (= (+ main_~b~0 1) (div (div main_~y~0 2) 2)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,616 INFO L272 TraceCheckUtils]: 50: Hoare triple {10515#(and (<= (mod (div main_~y~0 2) 2) 0) (not (= 0 (mod (+ main_~b~0 1) 2))) (<= main_~y~0 10) (= (+ main_~b~0 1) (div (div main_~y~0 2) 2)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 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)); {10355#true} is VALID [2022-04-28 07:30:13,617 INFO L290 TraceCheckUtils]: 51: Hoare triple {10355#true} ~cond := #in~cond; {10525#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:13,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {10525#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10529#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:13,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {10529#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10529#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:13,736 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10529#(not (= |__VERIFIER_assert_#in~cond| 0))} {10515#(and (<= (mod (div main_~y~0 2) 2) 0) (not (= 0 (mod (+ main_~b~0 1) 2))) (<= main_~y~0 10) (= (+ main_~b~0 1) (div (div main_~y~0 2) 2)) (<= main_~x~0 10) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} #77#return; {10536#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (<= (mod main_~y~0 2) 0) (exists ((main_~p~0 Int) (main_~a~0 Int)) (= (+ main_~q~0 (* (+ (- 1) (div (div main_~y~0 2) 2)) main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,737 INFO L290 TraceCheckUtils]: 55: Hoare triple {10536#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (<= (mod main_~y~0 2) 0) (exists ((main_~p~0 Int) (main_~a~0 Int)) (= (+ main_~q~0 (* (+ (- 1) (div (div main_~y~0 2) 2)) main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {10536#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (<= (mod main_~y~0 2) 0) (exists ((main_~p~0 Int) (main_~a~0 Int)) (= (+ main_~q~0 (* (+ (- 1) (div (div main_~y~0 2) 2)) main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:13,741 INFO L272 TraceCheckUtils]: 56: Hoare triple {10536#(and (<= (mod (div main_~y~0 2) 2) 0) (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (<= (mod main_~y~0 2) 0) (exists ((main_~p~0 Int) (main_~a~0 Int)) (= (+ main_~q~0 (* (+ (- 1) (div (div main_~y~0 2) 2)) main_~a~0 main_~p~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)); {10543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:13,741 INFO L290 TraceCheckUtils]: 57: Hoare triple {10543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:13,741 INFO L290 TraceCheckUtils]: 58: Hoare triple {10547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10356#false} is VALID [2022-04-28 07:30:13,741 INFO L290 TraceCheckUtils]: 59: Hoare triple {10356#false} assume !false; {10356#false} is VALID [2022-04-28 07:30:13,742 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 16 proven. 22 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 07:30:13,742 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:20,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:20,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1574215050] [2022-04-28 07:30:20,106 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:20,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [356262419] [2022-04-28 07:30:20,106 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [356262419] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 07:30:20,106 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:30:20,106 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2022-04-28 07:30:20,106 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:20,107 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [479651575] [2022-04-28 07:30:20,107 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [479651575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:20,107 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:20,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 07:30:20,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [198293674] [2022-04-28 07:30:20,107 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:20,107 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) Word has length 60 [2022-04-28 07:30:20,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:20,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:30:20,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:20,157 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 07:30:20,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:20,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 07:30:20,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:30:20,157 INFO L87 Difference]: Start difference. First operand 74 states and 92 transitions. Second operand has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:30:22,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:22,270 INFO L93 Difference]: Finished difference Result 102 states and 134 transitions. [2022-04-28 07:30:22,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 07:30:22,270 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) Word has length 60 [2022-04-28 07:30:22,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:22,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:30:22,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 79 transitions. [2022-04-28 07:30:22,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:30:22,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 79 transitions. [2022-04-28 07:30:22,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 79 transitions. [2022-04-28 07:30:22,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:22,380 INFO L225 Difference]: With dead ends: 102 [2022-04-28 07:30:22,380 INFO L226 Difference]: Without dead ends: 97 [2022-04-28 07:30:22,380 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 127 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=103, Invalid=547, Unknown=0, NotChecked=0, Total=650 [2022-04-28 07:30:22,381 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 37 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 495 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 647 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 495 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 140 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 07:30:22,381 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 213 Invalid, 647 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 495 Invalid, 0 Unknown, 140 Unchecked, 0.7s Time] [2022-04-28 07:30:22,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-28 07:30:22,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 78. [2022-04-28 07:30:22,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:22,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:22,692 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:22,692 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:22,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:22,693 INFO L93 Difference]: Finished difference Result 97 states and 129 transitions. [2022-04-28 07:30:22,693 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 129 transitions. [2022-04-28 07:30:22,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:22,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:22,694 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 97 states. [2022-04-28 07:30:22,694 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 97 states. [2022-04-28 07:30:22,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:22,695 INFO L93 Difference]: Finished difference Result 97 states and 129 transitions. [2022-04-28 07:30:22,695 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 129 transitions. [2022-04-28 07:30:22,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:22,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:22,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:22,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:22,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.25) internal successors, (70), 57 states have internal predecessors, (70), 15 states have call successors, (15), 8 states have call predecessors, (15), 6 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:22,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 98 transitions. [2022-04-28 07:30:22,697 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 98 transitions. Word has length 60 [2022-04-28 07:30:22,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:22,697 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 98 transitions. [2022-04-28 07:30:22,697 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 8 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:30:22,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 98 transitions. [2022-04-28 07:30:33,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 93 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:33,567 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-28 07:30:33,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 07:30:33,568 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:33,568 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:30:33,584 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 07:30:33,784 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 07:30:33,784 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:33,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:33,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1988072646, now seen corresponding path program 1 times [2022-04-28 07:30:33,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:33,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [619964735] [2022-04-28 07:30:33,785 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:33,785 INFO L85 PathProgramCache]: Analyzing trace with hash 1988072646, now seen corresponding path program 2 times [2022-04-28 07:30:33,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:33,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186649151] [2022-04-28 07:30:33,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:33,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:33,795 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:33,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2070462463] [2022-04-28 07:30:33,795 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:30:33,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:33,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:33,796 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:30:33,797 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 07:30:33,838 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:30:33,838 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:33,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 07:30:33,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:33,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:43,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {11137#true} call ULTIMATE.init(); {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {11137#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); {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11137#true} {11137#true} #83#return; {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {11137#true} call #t~ret6 := main(); {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {11137#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; {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L272 TraceCheckUtils]: 6: Hoare triple {11137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 8: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:30:43,496 INFO L290 TraceCheckUtils]: 9: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11137#true} {11137#true} #71#return; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {11137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L272 TraceCheckUtils]: 12: Hoare triple {11137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L290 TraceCheckUtils]: 15: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11137#true} {11137#true} #73#return; {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L272 TraceCheckUtils]: 17: Hoare triple {11137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {11137#true} ~cond := #in~cond; {11196#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:43,498 INFO L290 TraceCheckUtils]: 19: Hoare triple {11196#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11200#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:43,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {11200#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11200#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:43,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11200#(not (= |assume_abort_if_not_#in~cond| 0))} {11137#true} #75#return; {11207#(<= 1 main_~y~0)} is VALID [2022-04-28 07:30:43,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {11207#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,499 INFO L272 TraceCheckUtils]: 24: Hoare triple {11211#(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)); {11137#true} is VALID [2022-04-28 07:30:43,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:30:43,499 INFO L290 TraceCheckUtils]: 26: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:30:43,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,500 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11137#true} {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {11211#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {11233#(and (<= main_~y~0 main_~b~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,500 INFO L290 TraceCheckUtils]: 30: Hoare triple {11233#(and (<= main_~y~0 main_~b~0) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {11233#(and (<= main_~y~0 main_~b~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {11233#(and (<= main_~y~0 main_~b~0) (not (= main_~a~0 0)) (<= 1 main_~y~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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} assume !false; {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,502 INFO L272 TraceCheckUtils]: 33: Hoare triple {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,502 INFO L290 TraceCheckUtils]: 34: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:30:43,502 INFO L290 TraceCheckUtils]: 35: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:30:43,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,503 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11137#true} {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} #77#return; {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,503 INFO L290 TraceCheckUtils]: 38: Hoare triple {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,505 INFO L290 TraceCheckUtils]: 39: Hoare triple {11240#(and (<= (mod main_~b~0 2) 0) (<= main_~y~0 main_~b~0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~y~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; {11265#(and (< 0 (+ main_~a~0 1)) (exists ((aux_mod_v_main_~b~0_57_22 Int) (aux_div_v_main_~b~0_57_22 Int)) (and (<= aux_mod_v_main_~b~0_57_22 0) (<= 0 aux_mod_v_main_~b~0_57_22) (<= main_~y~0 (+ (* 2 aux_div_v_main_~b~0_57_22) aux_mod_v_main_~b~0_57_22)) (<= (div (+ (* 2 aux_div_v_main_~b~0_57_22) aux_mod_v_main_~b~0_57_22) 2) main_~b~0))) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {11265#(and (< 0 (+ main_~a~0 1)) (exists ((aux_mod_v_main_~b~0_57_22 Int) (aux_div_v_main_~b~0_57_22 Int)) (and (<= aux_mod_v_main_~b~0_57_22 0) (<= 0 aux_mod_v_main_~b~0_57_22) (<= main_~y~0 (+ (* 2 aux_div_v_main_~b~0_57_22) aux_mod_v_main_~b~0_57_22)) (<= (div (+ (* 2 aux_div_v_main_~b~0_57_22) aux_mod_v_main_~b~0_57_22) 2) main_~b~0))) (<= 1 main_~y~0))} assume !false; {11269#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,506 INFO L272 TraceCheckUtils]: 41: Hoare triple {11269#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:30:43,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:30:43,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:30:43,507 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11137#true} {11269#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} #77#return; {11269#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {11269#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,508 INFO L290 TraceCheckUtils]: 47: Hoare triple {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,509 INFO L290 TraceCheckUtils]: 48: Hoare triple {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,510 INFO L290 TraceCheckUtils]: 49: Hoare triple {11288#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 1)) (not (= main_~a~0 0)) (<= 1 main_~y~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; {11298#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {11298#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0))} assume !false; {11298#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:43,510 INFO L272 TraceCheckUtils]: 51: Hoare triple {11298#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:30:43,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {11137#true} ~cond := #in~cond; {11308#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:43,511 INFO L290 TraceCheckUtils]: 53: Hoare triple {11308#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:43,511 INFO L290 TraceCheckUtils]: 54: Hoare triple {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:45,513 WARN L284 TraceCheckUtils]: 55: Hoare quadruple {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} {11298#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0))} #77#return; {11319#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} is UNKNOWN [2022-04-28 07:30:45,515 INFO L290 TraceCheckUtils]: 56: Hoare triple {11319#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~y~0) (- 2)) (+ main_~b~0 2)) (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} assume !(0 != ~a~0 && 0 != ~b~0); {11323#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:30:45,516 INFO L272 TraceCheckUtils]: 57: Hoare triple {11323#(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)); {11327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:45,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {11327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:45,516 INFO L290 TraceCheckUtils]: 59: Hoare triple {11331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11138#false} is VALID [2022-04-28 07:30:45,516 INFO L290 TraceCheckUtils]: 60: Hoare triple {11138#false} assume !false; {11138#false} is VALID [2022-04-28 07:30:45,517 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 25 proven. 20 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 07:30:45,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:31:19,481 INFO L290 TraceCheckUtils]: 60: Hoare triple {11138#false} assume !false; {11138#false} is VALID [2022-04-28 07:31:19,482 INFO L290 TraceCheckUtils]: 59: Hoare triple {11331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11138#false} is VALID [2022-04-28 07:31:19,482 INFO L290 TraceCheckUtils]: 58: Hoare triple {11327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:19,482 INFO L272 TraceCheckUtils]: 57: Hoare triple {11347#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {11327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:19,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {11351#(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); {11347#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:31:19,484 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} {11137#true} #77#return; {11351#(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-28 07:31:19,485 INFO L290 TraceCheckUtils]: 54: Hoare triple {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:19,485 INFO L290 TraceCheckUtils]: 53: Hoare triple {11364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11312#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:19,485 INFO L290 TraceCheckUtils]: 52: Hoare triple {11137#true} ~cond := #in~cond; {11364#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:31:19,485 INFO L272 TraceCheckUtils]: 51: Hoare triple {11137#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,485 INFO L290 TraceCheckUtils]: 50: Hoare triple {11137#true} assume !false; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {11137#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; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {11137#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)); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {11137#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)); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 46: Hoare triple {11137#true} assume !!(0 != ~a~0 && 0 != ~b~0); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11137#true} {11137#true} #77#return; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L272 TraceCheckUtils]: 41: Hoare triple {11137#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 40: Hoare triple {11137#true} assume !false; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {11137#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);~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; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 38: Hoare triple {11137#true} assume !!(0 != ~a~0 && 0 != ~b~0); {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11137#true} {11137#true} #77#return; {11137#true} is VALID [2022-04-28 07:31:19,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 34: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L272 TraceCheckUtils]: 33: Hoare triple {11137#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {11137#true} assume !false; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {11137#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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 30: Hoare triple {11137#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)); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 29: Hoare triple {11137#true} assume !!(0 != ~a~0 && 0 != ~b~0); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11137#true} {11137#true} #77#return; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 26: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L272 TraceCheckUtils]: 24: Hoare triple {11137#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {11137#true} assume !false; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {11137#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {11137#true} is VALID [2022-04-28 07:31:19,487 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11137#true} {11137#true} #75#return; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 20: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 19: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 18: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L272 TraceCheckUtils]: 17: Hoare triple {11137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11137#true} {11137#true} #73#return; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 15: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L272 TraceCheckUtils]: 12: Hoare triple {11137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {11137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11137#true} {11137#true} #71#return; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {11137#true} assume !(0 == ~cond); {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {11137#true} ~cond := #in~cond; {11137#true} is VALID [2022-04-28 07:31:19,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {11137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {11137#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; {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {11137#true} call #t~ret6 := main(); {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11137#true} {11137#true} #83#return; {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {11137#true} assume true; {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {11137#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); {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L272 TraceCheckUtils]: 0: Hoare triple {11137#true} call ULTIMATE.init(); {11137#true} is VALID [2022-04-28 07:31:19,489 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 07:31:19,489 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:31:19,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [186649151] [2022-04-28 07:31:19,489 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:31:19,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2070462463] [2022-04-28 07:31:19,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2070462463] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:31:19,489 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:31:19,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 8] total 21 [2022-04-28 07:31:19,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:31:19,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [619964735] [2022-04-28 07:31:19,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [619964735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:31:19,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:31:19,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 07:31:19,490 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1451083160] [2022-04-28 07:31:19,490 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:31:19,490 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 61 [2022-04-28 07:31:19,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:31:19,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:31:21,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:21,543 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 07:31:21,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:21,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 07:31:21,543 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:31:21,544 INFO L87 Difference]: Start difference. First operand 78 states and 98 transitions. Second operand has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:31:25,205 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:31:27,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:27,715 INFO L93 Difference]: Finished difference Result 110 states and 144 transitions. [2022-04-28 07:31:27,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 07:31:27,716 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 61 [2022-04-28 07:31:27,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:31:27,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:31:27,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-28 07:31:27,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:31:27,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-28 07:31:27,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 80 transitions. [2022-04-28 07:31:35,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 76 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:35,807 INFO L225 Difference]: With dead ends: 110 [2022-04-28 07:31:35,808 INFO L226 Difference]: Without dead ends: 105 [2022-04-28 07:31:35,808 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 101 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=140, Invalid=672, Unknown=0, NotChecked=0, Total=812 [2022-04-28 07:31:35,808 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 49 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 15 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 431 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 2 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:31:35,808 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [52 Valid, 178 Invalid, 431 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 413 Invalid, 1 Unknown, 2 Unchecked, 3.6s Time] [2022-04-28 07:31:35,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-28 07:31:36,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 83. [2022-04-28 07:31:36,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:31:36,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:31:36,178 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:31:36,178 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:31:36,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:36,179 INFO L93 Difference]: Finished difference Result 105 states and 139 transitions. [2022-04-28 07:31:36,179 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 139 transitions. [2022-04-28 07:31:36,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:36,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:36,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 105 states. [2022-04-28 07:31:36,180 INFO L87 Difference]: Start difference. First operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 105 states. [2022-04-28 07:31:36,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:36,182 INFO L93 Difference]: Finished difference Result 105 states and 139 transitions. [2022-04-28 07:31:36,182 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 139 transitions. [2022-04-28 07:31:36,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:36,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:36,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:31:36,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:31:36,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 60 states have (on average 1.25) internal successors, (75), 61 states have internal predecessors, (75), 16 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:31:36,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 105 transitions. [2022-04-28 07:31:36,183 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 105 transitions. Word has length 61 [2022-04-28 07:31:36,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:31:36,183 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 105 transitions. [2022-04-28 07:31:36,184 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:31:36,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 105 transitions. [2022-04-28 07:31:49,202 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 99 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:49,202 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 105 transitions. [2022-04-28 07:31:49,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 07:31:49,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:31:49,203 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:31:49,219 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 07:31:49,419 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 07:31:49,419 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:31:49,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:31:49,419 INFO L85 PathProgramCache]: Analyzing trace with hash 165486739, now seen corresponding path program 5 times [2022-04-28 07:31:49,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:49,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1581906748] [2022-04-28 07:31:49,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:31:49,420 INFO L85 PathProgramCache]: Analyzing trace with hash 165486739, now seen corresponding path program 6 times [2022-04-28 07:31:49,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:31:49,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [512743539] [2022-04-28 07:31:49,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:31:49,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:31:49,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:31:49,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [808763073] [2022-04-28 07:31:49,431 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:31:49,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:49,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:31:49,432 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:31:49,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 07:31:49,488 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 07:31:49,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:31:49,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:31:49,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:31:49,502 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:59,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {12136#true} call ULTIMATE.init(); {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {12136#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); {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12136#true} {12136#true} #83#return; {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {12136#true} call #t~ret6 := main(); {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {12136#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12136#true} {12136#true} #71#return; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {12136#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L272 TraceCheckUtils]: 12: Hoare triple {12136#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12136#true} {12136#true} #73#return; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L272 TraceCheckUtils]: 17: Hoare triple {12136#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12136#true} {12136#true} #75#return; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {12136#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {12136#true} is VALID [2022-04-28 07:31:59,696 INFO L290 TraceCheckUtils]: 23: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L272 TraceCheckUtils]: 24: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {12136#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);~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; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L272 TraceCheckUtils]: 32: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:31:59,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 38: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 39: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 40: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 41: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L272 TraceCheckUtils]: 42: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 43: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 45: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 47: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 48: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 49: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 50: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L290 TraceCheckUtils]: 51: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:31:59,698 INFO L272 TraceCheckUtils]: 52: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:31:59,699 INFO L290 TraceCheckUtils]: 53: Hoare triple {12136#true} ~cond := #in~cond; {12300#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:59,699 INFO L290 TraceCheckUtils]: 54: Hoare triple {12300#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:59,699 INFO L290 TraceCheckUtils]: 55: Hoare triple {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:01,702 WARN L284 TraceCheckUtils]: 56: Hoare quadruple {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} {12136#true} #77#return; {12311#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is UNKNOWN [2022-04-28 07:32:01,704 INFO L290 TraceCheckUtils]: 57: Hoare triple {12311#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {12315#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:32:01,704 INFO L272 TraceCheckUtils]: 58: Hoare triple {12315#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {12319#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:01,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {12319#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12323#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:01,705 INFO L290 TraceCheckUtils]: 60: Hoare triple {12323#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12137#false} is VALID [2022-04-28 07:32:01,705 INFO L290 TraceCheckUtils]: 61: Hoare triple {12137#false} assume !false; {12137#false} is VALID [2022-04-28 07:32:01,705 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-04-28 07:32:01,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:32:27,007 INFO L290 TraceCheckUtils]: 61: Hoare triple {12137#false} assume !false; {12137#false} is VALID [2022-04-28 07:32:27,008 INFO L290 TraceCheckUtils]: 60: Hoare triple {12323#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12137#false} is VALID [2022-04-28 07:32:27,008 INFO L290 TraceCheckUtils]: 59: Hoare triple {12319#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12323#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:27,008 INFO L272 TraceCheckUtils]: 58: Hoare triple {12315#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {12319#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:27,009 INFO L290 TraceCheckUtils]: 57: Hoare triple {12342#(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); {12315#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:32:27,011 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} {12136#true} #77#return; {12342#(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-28 07:32:27,011 INFO L290 TraceCheckUtils]: 55: Hoare triple {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 54: Hoare triple {12355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12304#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 53: Hoare triple {12136#true} ~cond := #in~cond; {12355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:32:27,012 INFO L272 TraceCheckUtils]: 52: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 51: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 50: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 49: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 47: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:32:27,012 INFO L290 TraceCheckUtils]: 45: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 44: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 43: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L272 TraceCheckUtils]: 42: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 41: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 38: Hoare triple {12136#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)); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 37: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 35: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 34: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 33: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L272 TraceCheckUtils]: 32: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:32:27,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {12136#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);~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; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {12136#true} assume !!(0 != ~a~0 && 0 != ~b~0); {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12136#true} {12136#true} #77#return; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 26: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 25: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L272 TraceCheckUtils]: 24: Hoare triple {12136#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {12136#true} assume !false; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 22: Hoare triple {12136#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12136#true} {12136#true} #75#return; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 18: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L272 TraceCheckUtils]: 17: Hoare triple {12136#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12136#true} {12136#true} #73#return; {12136#true} is VALID [2022-04-28 07:32:27,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L272 TraceCheckUtils]: 12: Hoare triple {12136#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {12136#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12136#true} {12136#true} #71#return; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {12136#true} assume !(0 == ~cond); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {12136#true} ~cond := #in~cond; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L272 TraceCheckUtils]: 6: Hoare triple {12136#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {12136#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; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {12136#true} call #t~ret6 := main(); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12136#true} {12136#true} #83#return; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {12136#true} assume true; {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {12136#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); {12136#true} is VALID [2022-04-28 07:32:27,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {12136#true} call ULTIMATE.init(); {12136#true} is VALID [2022-04-28 07:32:27,016 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-04-28 07:32:27,016 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:32:27,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [512743539] [2022-04-28 07:32:27,016 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:32:27,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [808763073] [2022-04-28 07:32:27,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [808763073] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:32:27,016 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:32:27,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:32:27,016 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:32:27,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1581906748] [2022-04-28 07:32:27,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1581906748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:32:27,016 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:32:27,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:32:27,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1594040343] [2022-04-28 07:32:27,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:32:27,017 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 62 [2022-04-28 07:32:27,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:32:27,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:29,047 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-28 07:32:29,047 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:32:29,047 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:29,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:32:29,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:32:29,048 INFO L87 Difference]: Start difference. First operand 83 states and 105 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:31,769 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:34,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:34,228 INFO L93 Difference]: Finished difference Result 83 states and 105 transitions. [2022-04-28 07:32:34,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:32:34,228 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 62 [2022-04-28 07:32:34,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:32:34,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:34,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 38 transitions. [2022-04-28 07:32:34,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:34,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 38 transitions. [2022-04-28 07:32:34,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 38 transitions. [2022-04-28 07:32:36,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:36,267 INFO L225 Difference]: With dead ends: 83 [2022-04-28 07:32:36,267 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 07:32:36,268 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:32:36,268 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 9 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-28 07:32:36,268 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 93 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 3.7s Time] [2022-04-28 07:32:36,268 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 07:32:36,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 07:32:36,269 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:32:36,269 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:36,269 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:36,269 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:36,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:36,269 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:32:36,269 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:36,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:36,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:36,269 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:32:36,269 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:32:36,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:36,269 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:32:36,269 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:36,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:36,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:36,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:32:36,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:32:36,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:36,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 07:32:36,270 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 62 [2022-04-28 07:32:36,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:32:36,270 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 07:32:36,270 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:36,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 07:32:36,270 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:36,270 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:36,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:36,272 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 07:32:36,291 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 07:32:36,487 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:32:36,489 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 07:33:01,571 WARN L232 SmtUtils]: Spent 23.71s on a formula simplification. DAG size of input: 181 DAG size of output: 174 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:33:10,153 WARN L232 SmtUtils]: Spent 8.55s on a formula simplification. DAG size of input: 193 DAG size of output: 183 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:33:24,124 WARN L232 SmtUtils]: Spent 12.47s on a formula simplification. DAG size of input: 201 DAG size of output: 186 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:34:03,772 WARN L232 SmtUtils]: Spent 36.47s on a formula simplification. DAG size of input: 161 DAG size of output: 34 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:34:39,660 WARN L232 SmtUtils]: Spent 35.79s on a formula simplification. DAG size of input: 171 DAG size of output: 33 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:35:17,556 WARN L232 SmtUtils]: Spent 37.23s on a formula simplification. DAG size of input: 174 DAG size of output: 33 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:35:43,333 WARN L232 SmtUtils]: Spent 25.73s on a formula simplification. DAG size of input: 170 DAG size of output: 26 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:35:43,341 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-28 07:35:43,341 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-28 07:35:43,341 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-28 07:35:43,341 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-28 07:35:43,341 INFO L895 garLoopResultBuilder]: At program point L9(line 9) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 07:35:43,341 INFO L895 garLoopResultBuilder]: At program point L9-2(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:35:43,341 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:35:43,341 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0)) [2022-04-28 07:35:43,341 INFO L902 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: true [2022-04-28 07:35:43,342 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 19 60) the Hoare annotation is: true [2022-04-28 07:35:43,342 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 19 60) the Hoare annotation is: true [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L44(lines 44 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)) (<= 1 main_~y~0))) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L40(lines 40 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)) (<= 1 main_~y~0))) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 55) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 10)) (.cse1 (<= 0 main_~x~0)) (.cse2 (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (.cse3 (<= 1 main_~y~0)) (.cse4 (= (* main_~b~0 main_~a~0) 0))) (or (and .cse0 .cse1 .cse2 (not (= main_~a~0 0)) .cse3 .cse4) (and .cse0 .cse1 .cse2 (<= (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)) .cse3 .cse4) (and .cse0 .cse1 .cse2 (not (= main_~b~0 0)) .cse3 .cse4) (and (<= main_~y~0 10) .cse0 .cse1 .cse2 .cse3 .cse4))) [2022-04-28 07:35:43,342 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 19 60) the Hoare annotation is: true [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= main_~x~0 10) (<= 0 main_~x~0)) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= main_~y~0 10) (<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1)) (<= main_~x~0 10) (<= 0 main_~x~0)) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: (and (<= main_~x~0 10) (<= 0 main_~x~0) (<= 1 main_~y~0) (= (* main_~b~0 main_~a~0) 0)) [2022-04-28 07:35:43,342 INFO L902 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: true [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= main_~x~0 10) (<= 0 main_~x~0)) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L47(lines 47 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)) (<= 1 main_~y~0))) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 34 55) the Hoare annotation is: (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (<= 1 main_~y~0)) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (<= 1 main_~y~0)) [2022-04-28 07:35:43,342 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 55) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (<= main_~y~0 10) (<= main_~x~0 10) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (or (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (= main_~q~0 .cse0)) (<= 1 main_~y~0))) [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 15) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:35:43,343 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:35:43,345 INFO L356 BasicCegarLoop]: Path program histogram: [6, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 07:35:43,346 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 07:35:43,348 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 07:35:43,349 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 07:35:45,430 INFO L163 areAnnotationChecker]: CFG has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 07:35:45,438 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 07:35:45 BoogieIcfgContainer [2022-04-28 07:35:45,438 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 07:35:45,439 INFO L158 Benchmark]: Toolchain (without parser) took 823628.99ms. Allocated memory was 192.9MB in the beginning and 278.9MB in the end (delta: 86.0MB). Free memory was 146.7MB in the beginning and 214.4MB in the end (delta: -67.7MB). Peak memory consumption was 144.5MB. Max. memory is 8.0GB. [2022-04-28 07:35:45,439 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 192.9MB. Free memory is still 163.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 07:35:45,439 INFO L158 Benchmark]: CACSL2BoogieTranslator took 182.42ms. Allocated memory is still 192.9MB. Free memory was 146.5MB in the beginning and 171.2MB in the end (delta: -24.7MB). Peak memory consumption was 12.7MB. Max. memory is 8.0GB. [2022-04-28 07:35:45,439 INFO L158 Benchmark]: Boogie Preprocessor took 30.46ms. Allocated memory is still 192.9MB. Free memory was 171.2MB in the beginning and 169.6MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 07:35:45,439 INFO L158 Benchmark]: RCFGBuilder took 299.73ms. Allocated memory is still 192.9MB. Free memory was 169.6MB in the beginning and 156.7MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 07:35:45,439 INFO L158 Benchmark]: TraceAbstraction took 823107.89ms. Allocated memory was 192.9MB in the beginning and 278.9MB in the end (delta: 86.0MB). Free memory was 156.1MB in the beginning and 214.4MB in the end (delta: -58.3MB). Peak memory consumption was 153.9MB. Max. memory is 8.0GB. [2022-04-28 07:35:45,440 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 192.9MB. Free memory is still 163.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 182.42ms. Allocated memory is still 192.9MB. Free memory was 146.5MB in the beginning and 171.2MB in the end (delta: -24.7MB). Peak memory consumption was 12.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 30.46ms. Allocated memory is still 192.9MB. Free memory was 171.2MB in the beginning and 169.6MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 299.73ms. Allocated memory is still 192.9MB. Free memory was 169.6MB in the beginning and 156.7MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 823107.89ms. Allocated memory was 192.9MB in the beginning and 278.9MB in the end (delta: 86.0MB). Free memory was 156.1MB in the beginning and 214.4MB in the end (delta: -58.3MB). Peak memory consumption was 153.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 821.0s, OverallIterations: 19, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 86.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 186.9s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 9 mSolverCounterUnknown, 499 SdHoareTripleChecker+Valid, 34.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 457 mSDsluCounter, 2362 SdHoareTripleChecker+Invalid, 34.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 142 IncrementalHoareTripleChecker+Unchecked, 1886 mSDsCounter, 181 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 3294 IncrementalHoareTripleChecker+Invalid, 3626 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 181 mSolverCounterUnsat, 476 mSDtfsCounter, 3294 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1612 GetRequests, 1311 SyntacticMatches, 17 SemanticMatches, 284 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 1004 ImplicationChecksByTransitivity, 5.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=83occurred in iteration=18, InterpolantAutomatonStates: 197, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 2.5s AutomataMinimizationTime, 19 MinimizatonAttempts, 125 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 34 LocationsWithAnnotation, 272 PreInvPairs, 401 NumberOfFragments, 473 HoareAnnotationTreeSize, 272 FomulaSimplifications, 53826 FormulaSimplificationTreeSizeReduction, 50.5s HoareSimplificationTime, 34 FomulaSimplificationsInter, 1066809 FormulaSimplificationTreeSizeReductionInter, 136.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((y <= 10 && x <= 10) && 0 <= x) && q + b * a * p == y * x) && 1 <= y - ProcedureContractResult [Line: 8]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 19]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 11]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 07:35:45,602 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...