/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_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:25:42,905 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:25:42,907 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:25:42,947 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:25:42,947 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:25:42,949 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:25:42,951 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:25:42,953 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:25:42,954 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:25:42,958 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:25:42,959 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:25:42,960 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:25:42,961 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:25:42,963 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:25:42,963 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:25:42,966 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:25:42,966 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:25:42,967 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:25:42,969 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:25:42,974 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:25:42,975 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:25:42,976 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:25:42,977 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:25:42,978 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:25:42,979 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:25:42,984 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:25:42,985 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:25:42,985 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:25:42,986 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:25:42,986 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:25:42,987 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:25:42,987 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:25:42,989 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:25:42,989 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:25:42,990 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:25:42,990 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:25:42,990 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:25:42,991 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:25:42,991 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:25:42,991 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:25:42,992 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:25:42,993 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:25:42,994 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:25:43,004 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:25:43,004 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:25:43,005 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:25:43,005 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:25:43,005 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:25:43,006 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:25:43,006 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:25:43,006 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:25:43,006 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:25:43,007 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:25:43,007 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:25:43,008 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:25:43,008 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:25:43,009 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-15 10:25:43,243 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:25:43,260 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:25:43,262 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:25:43,262 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:25:43,263 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:25:43,264 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound20.c [2022-04-15 10:25:43,317 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/89e1f1972/3723ff42c9cf4843b29c1d788833fe2a/FLAG239f50715 [2022-04-15 10:25:43,658 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:25:43,658 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound20.c [2022-04-15 10:25:43,663 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/89e1f1972/3723ff42c9cf4843b29c1d788833fe2a/FLAG239f50715 [2022-04-15 10:25:43,673 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/89e1f1972/3723ff42c9cf4843b29c1d788833fe2a [2022-04-15 10:25:43,674 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:25:43,675 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:25:43,677 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:25:43,677 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:25:43,679 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:25:43,680 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,681 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c6cb657 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43, skipping insertion in model container [2022-04-15 10:25:43,681 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,696 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:25:43,710 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:25:43,839 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_valuebound20.c[524,537] [2022-04-15 10:25:43,857 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:25:43,864 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:25:43,874 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_valuebound20.c[524,537] [2022-04-15 10:25:43,884 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:25:43,895 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:25:43,895 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43 WrapperNode [2022-04-15 10:25:43,895 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:25:43,896 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:25:43,896 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:25:43,896 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:25:43,906 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,906 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,911 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,911 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,917 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,921 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,922 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,923 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:25:43,924 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:25:43,924 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:25:43,924 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:25:43,925 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (1/1) ... [2022-04-15 10:25:43,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:25:43,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:43,960 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-15 10:25:43,973 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-15 10:25:44,008 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:25:44,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:25:44,009 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:25:44,009 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:25:44,009 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:25:44,010 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:25:44,010 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:25:44,010 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:25:44,010 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:25:44,010 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:25:44,011 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 10:25:44,011 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:25:44,071 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:25:44,072 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:25:44,303 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:25:44,311 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:25:44,311 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:25:44,313 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:25:44 BoogieIcfgContainer [2022-04-15 10:25:44,313 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:25:44,314 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:25:44,314 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:25:44,324 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:25:44,325 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:25:43" (1/3) ... [2022-04-15 10:25:44,325 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f279c61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:25:44, skipping insertion in model container [2022-04-15 10:25:44,325 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:25:43" (2/3) ... [2022-04-15 10:25:44,326 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f279c61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:25:44, skipping insertion in model container [2022-04-15 10:25:44,326 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:25:44" (3/3) ... [2022-04-15 10:25:44,327 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound20.c [2022-04-15 10:25:44,332 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:25:44,332 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:25:44,363 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:25:44,369 INFO L340 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 [2022-04-15 10:25:44,369 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:25:44,385 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-15 10:25:44,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:25:44,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:44,392 INFO L499 BasicCegarLoop]: 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-15 10:25:44,393 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:44,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:44,397 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-15 10:25:44,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:44,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1768944125] [2022-04-15 10:25:44,414 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:44,414 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-15 10:25:44,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:44,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [994715211] [2022-04-15 10:25:44,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:44,418 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:44,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:44,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:25:44,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:44,624 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-15 10:25:44,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:25:44,625 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-15 10:25:44,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:25:44,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:44,654 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-15 10:25:44,656 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:25:44,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:44,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:25:44,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:25:44,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:44,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-15 10:25:44,677 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-15 10:25:44,677 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-15 10:25:44,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:25:44,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-15 10:25:44,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-15 10:25:44,678 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-15 10:25:44,678 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {37#true} is VALID [2022-04-15 10:25:44,678 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,679 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-15 10:25:44,679 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-15 10:25:44,679 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {37#true} is VALID [2022-04-15 10:25:44,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,681 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:25:44,681 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-15 10:25:44,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:25:44,683 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:25:44,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:25:44,683 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-15 10:25:44,684 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-15 10:25:44,684 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-15 10:25:44,685 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-15 10:25:44,685 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 10:25:44,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 10:25:44,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 10:25:44,686 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-15 10:25:44,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:25:44,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [994715211] [2022-04-15 10:25:44,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [994715211] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:44,688 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:44,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:25:44,691 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:25:44,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1768944125] [2022-04-15 10:25:44,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1768944125] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:44,692 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:44,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:25:44,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064036449] [2022-04-15 10:25:44,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:25:44,698 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-15 10:25:44,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:25:44,703 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-15 10:25:44,740 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-15 10:25:44,741 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:25:44,741 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:44,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:25:44,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:25:44,766 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-15 10:25:44,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:44,932 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-15 10:25:44,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:25:44,932 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-15 10:25:44,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:25:44,934 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-15 10:25:44,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-15 10:25:44,942 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-15 10:25:44,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-15 10:25:44,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-15 10:25:45,065 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-15 10:25:45,072 INFO L225 Difference]: With dead ends: 61 [2022-04-15 10:25:45,072 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 10:25:45,075 INFO L912 BasicCegarLoop]: 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-15 10:25:45,077 INFO L913 BasicCegarLoop]: 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-15 10:25:45,078 INFO L914 BasicCegarLoop]: 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-15 10:25:45,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 10:25:45,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-15 10:25:45,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:25:45,107 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-15 10:25:45,107 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-15 10:25:45,108 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-15 10:25:45,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:45,112 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:25:45,112 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:45,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:45,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:45,113 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-15 10:25:45,113 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-15 10:25:45,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:45,117 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:25:45,117 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:45,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:45,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:45,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:25:45,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:25:45,118 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-15 10:25:45,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-15 10:25:45,121 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-15 10:25:45,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:25:45,122 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-15 10:25:45,122 INFO L479 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-15 10:25:45,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-15 10:25:45,161 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-15 10:25:45,162 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:25:45,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:25:45,163 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:45,163 INFO L499 BasicCegarLoop]: 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-15 10:25:45,163 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:25:45,163 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:45,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:45,164 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-15 10:25:45,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:45,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [799850657] [2022-04-15 10:25:45,165 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:45,165 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-15 10:25:45,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:45,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1247425616] [2022-04-15 10:25:45,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:45,166 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:45,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:25:45,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [386458982] [2022-04-15 10:25:45,192 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:25:45,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:45,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:45,200 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-15 10:25:45,225 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-15 10:25:45,254 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:25:45,255 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:25:45,256 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 10:25:45,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:45,294 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:25:45,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-15 10:25:45,507 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-15 10:25:45,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:45,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-15 10:25:45,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-15 10:25:45,507 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-15 10:25:45,507 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {295#true} is VALID [2022-04-15 10:25:45,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:45,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:45,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:45,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-15 10:25:45,508 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-15 10:25:45,508 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {295#true} is VALID [2022-04-15 10:25:45,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:45,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:45,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:45,509 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-15 10:25:45,509 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-15 10:25:45,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-15 10:25:45,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-15 10:25:45,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-15 10:25:45,510 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-15 10:25:45,510 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-15 10:25:45,511 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-15 10:25:45,512 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-15 10:25:45,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:45,513 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-15 10:25:45,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-15 10:25:45,514 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-15 10:25:45,514 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:25:45,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:25:45,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1247425616] [2022-04-15 10:25:45,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:25:45,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [386458982] [2022-04-15 10:25:45,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [386458982] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:45,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:45,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:25:45,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:25:45,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [799850657] [2022-04-15 10:25:45,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [799850657] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:25:45,516 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:25:45,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:25:45,516 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1647859285] [2022-04-15 10:25:45,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:25:45,517 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-15 10:25:45,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:25:45,518 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-15 10:25:45,554 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-15 10:25:45,554 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:25:45,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:45,555 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:25:45,555 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:25:45,555 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-15 10:25:45,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:45,779 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-15 10:25:45,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:25:45,779 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-15 10:25:45,780 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:25:45,780 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-15 10:25:45,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-15 10:25:45,783 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-15 10:25:45,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-15 10:25:45,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-15 10:25:45,846 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-15 10:25:45,852 INFO L225 Difference]: With dead ends: 43 [2022-04-15 10:25:45,853 INFO L226 Difference]: Without dead ends: 41 [2022-04-15 10:25:45,854 INFO L912 BasicCegarLoop]: 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-15 10:25:45,857 INFO L913 BasicCegarLoop]: 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-15 10:25:45,860 INFO L914 BasicCegarLoop]: 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-15 10:25:45,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-15 10:25:45,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-15 10:25:45,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:25:45,885 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-15 10:25:45,887 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-15 10:25:45,888 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-15 10:25:45,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:45,894 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-15 10:25:45,894 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-15 10:25:45,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:45,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:45,896 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-15 10:25:45,896 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-15 10:25:45,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:25:45,899 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-15 10:25:45,899 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-15 10:25:45,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:25:45,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:25:45,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:25:45,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:25:45,901 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-15 10:25:45,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-15 10:25:45,905 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-15 10:25:45,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:25:45,905 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-15 10:25:45,906 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-15 10:25:45,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-15 10:25:45,963 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-15 10:25:45,963 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-15 10:25:45,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 10:25:45,965 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:25:45,965 INFO L499 BasicCegarLoop]: 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-15 10:25:45,988 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-15 10:25:46,183 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:46,184 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:25:46,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:25:46,184 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-15 10:25:46,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:25:46,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1675124718] [2022-04-15 10:25:46,185 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:25:46,185 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-15 10:25:46,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:25:46,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1862617408] [2022-04-15 10:25:46,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:25:46,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:25:46,217 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:25:46,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1983748747] [2022-04-15 10:25:46,217 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:25:46,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:25:46,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:25:46,221 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-15 10:25:46,239 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-15 10:25:46,281 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:25:46,281 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:25:46,282 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 10:25:46,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:25:46,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:25:55,284 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-15 10:25:55,284 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-15 10:25:55,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:25:55,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-15 10:25:55,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-15 10:25:55,285 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-15 10:25:55,285 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:55,286 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-15 10:25:55,286 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-15 10:25:55,287 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-15 10:25:55,288 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:25:55,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:25:55,288 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:55,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:25:55,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:25:55,289 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:25:55,290 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #73#return; {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:25:55,290 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-15 10:25:55,290 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-15 10:25:55,291 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-15 10:25:55,291 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-15 10:25:55,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #75#return; {694#(and (<= main_~x~0 20) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:55,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= main_~x~0 20) (<= 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 20) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:55,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= main_~x~0 20) (<= 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 20) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:25:55,293 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= main_~x~0 20) (<= 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-15 10:25:55,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:55,294 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-15 10:25:55,295 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-15 10:25:57,297 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:25:57,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= main_~x~0 20) (<= 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-15 10:25:57,312 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-15 10:25:57,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:25:57,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-15 10:25:57,316 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-15 10:25:57,316 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-15 10:25:57,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:26:53,220 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-15 10:26:53,223 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-15 10:26:53,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:26:53,227 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-15 10:26:53,228 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-15 10:26:53,230 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-15 10:26:53,231 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-15 10:26:53,231 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-15 10:26:53,232 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-15 10:26:53,233 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-15 10:26:53,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-15 10:26:53,234 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-15 10:26:53,235 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-15 10:26:53,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:53,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:53,249 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:53,249 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-15 10:26:53,249 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-15 10:26:53,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:53,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:53,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:53,250 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {623#true} is VALID [2022-04-15 10:26:53,250 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-15 10:26:53,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-15 10:26:53,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:53,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 10:26:53,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 10:26:53,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {623#true} is VALID [2022-04-15 10:26:53,251 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-15 10:26:53,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-15 10:26:53,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-15 10:26:53,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 10:26:53,251 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-15 10:26:53,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-15 10:26:53,252 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-15 10:26:53,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:26:53,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1862617408] [2022-04-15 10:26:53,252 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:26:53,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1983748747] [2022-04-15 10:26:53,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1983748747] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:26:53,252 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:26:53,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-15 10:26:53,253 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:26:53,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1675124718] [2022-04-15 10:26:53,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1675124718] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:26:53,253 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:26:53,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:26:53,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2097508747] [2022-04-15 10:26:53,253 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:26:53,254 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-15 10:26:53,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:26:53,255 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-15 10:26:55,287 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-15 10:26:55,287 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:26:55,287 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:26:55,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:26:55,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-15 10:26:55,288 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-15 10:26:57,863 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-15 10:27:01,025 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-15 10:27:03,196 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-15 10:27:03,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:03,374 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-15 10:27:03,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 10:27:03,374 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-15 10:27:03,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:27:03,375 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-15 10:27:03,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-15 10:27:03,378 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-15 10:27:03,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-15 10:27:03,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-15 10:27:03,448 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-15 10:27:03,450 INFO L225 Difference]: With dead ends: 47 [2022-04-15 10:27:03,450 INFO L226 Difference]: Without dead ends: 45 [2022-04-15 10:27:03,450 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-15 10:27:03,451 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 10 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.7s IncrementalHoareTripleChecker+Time [2022-04-15 10:27:03,451 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 226 Invalid, 3 Unknown, 0 Unchecked, 6.7s Time] [2022-04-15 10:27:03,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-15 10:27:03,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-15 10:27:03,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:27:03,500 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-15 10:27:03,501 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-15 10:27:03,501 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-15 10:27:03,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:03,503 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-15 10:27:03,503 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-15 10:27:03,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:03,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:03,504 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-15 10:27:03,505 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-15 10:27:03,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:27:03,507 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-15 10:27:03,507 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-15 10:27:03,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:27:03,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:27:03,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:27:03,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:27:03,508 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-15 10:27:03,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 10:27:03,510 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-15 10:27:03,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:27:03,511 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 10:27:03,511 INFO L479 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-15 10:27:03,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 10:27:03,572 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-15 10:27:03,572 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 10:27:03,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 10:27:03,573 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:27:03,573 INFO L499 BasicCegarLoop]: 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-15 10:27:03,590 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-15 10:27:03,779 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 10:27:03,780 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:27:03,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:27:03,780 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-15 10:27:03,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:27:03,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045217513] [2022-04-15 10:27:03,781 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:27:03,781 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-15 10:27:03,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:27:03,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1073387110] [2022-04-15 10:27:03,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:27:03,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:27:03,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:27:03,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [554748312] [2022-04-15 10:27:03,808 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:27:03,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:27:03,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:27:03,810 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-15 10:27:03,833 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-15 10:27:03,866 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:27:03,866 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:27:03,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 10:27:03,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:27:03,882 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:27:08,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-15 10:27:08,166 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-15 10:27:08,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:08,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-15 10:27:08,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-15 10:27:08,166 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-15 10:27:08,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:08,167 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-15 10:27:08,167 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-15 10:27:08,168 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-15 10:27:08,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:27:08,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:27:08,169 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:08,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:27:08,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:27:08,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:08,170 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #73#return; {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:27:08,170 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:27:08,170 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-15 10:27:08,171 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-15 10:27:08,171 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-15 10:27:08,172 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #75#return; {1187#(and (<= main_~x~0 20) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:27:08,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:27:08,173 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:27:08,173 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= main_~x~0 20) (<= 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-15 10:27:08,173 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:27:08,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:27:08,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:27:08,174 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:27:08,174 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:27:08,175 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= main_~x~0 20) (<= 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 (<= main_~x~0 20) (= (div main_~y~0 2) main_~b~0) (<= 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-15 10:27:08,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (<= main_~x~0 20) (= (div main_~y~0 2) main_~b~0) (<= 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 (<= main_~x~0 20) (= (div main_~y~0 2) main_~b~0) (<= 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-15 10:27:08,179 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (<= main_~x~0 20) (= (div main_~y~0 2) main_~b~0) (<= 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-15 10:27:08,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:27:08,180 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-15 10:27:08,180 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-15 10:27:08,181 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-15 10:27:08,181 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:10,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-15 10:28:10,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-15 10:28:10,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:10,742 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-15 10:28:10,743 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-15 10:28:10,748 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-15 10:28:10,749 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-15 10:28:10,749 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-15 10:28:10,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:28:10,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:28:10,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:28:10,750 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-15 10:28:10,751 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-15 10:28:10,756 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-15 10:28:10,757 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-15 10:28:10,757 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-15 10:28:10,758 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-15 10:28:10,758 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-15 10:28:10,758 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-15 10:28:10,758 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:28:10,759 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-15 10:28:10,759 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:28:10,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-15 10:28:10,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-15 10:28:10,760 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1116#true} is VALID [2022-04-15 10:28:10,760 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-15 10:28:10,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-15 10:28:10,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-15 10:28:10,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-15 10:28:10,760 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-15 10:28:10,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-15 10:28:10,761 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-15 10:28:10,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:10,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1073387110] [2022-04-15 10:28:10,761 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:10,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554748312] [2022-04-15 10:28:10,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554748312] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:10,762 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:10,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 10:28:10,762 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:10,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045217513] [2022-04-15 10:28:10,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045217513] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:10,762 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:10,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 10:28:10,762 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1245043010] [2022-04-15 10:28:10,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:10,763 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-15 10:28:10,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:10,763 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-15 10:28:10,799 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-15 10:28:10,800 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 10:28:10,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:10,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 10:28:10,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-15 10:28:10,801 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-15 10:28:11,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:11,639 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-15 10:28:11,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:28:11,639 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-15 10:28:11,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:11,640 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-15 10:28:11,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-15 10:28:11,642 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-15 10:28:11,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-15 10:28:11,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-15 10:28:11,710 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-15 10:28:11,712 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:28:11,712 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 10:28:11,712 INFO L912 BasicCegarLoop]: 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-15 10:28:11,713 INFO L913 BasicCegarLoop]: 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-15 10:28:11,713 INFO L914 BasicCegarLoop]: 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-15 10:28:11,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 10:28:11,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-15 10:28:11,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:11,784 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-15 10:28:11,784 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-15 10:28:11,784 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-15 10:28:11,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:11,787 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-15 10:28:11,787 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-15 10:28:11,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:11,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:11,788 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-15 10:28:11,788 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-15 10:28:11,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:11,790 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-15 10:28:11,790 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-15 10:28:11,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:11,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:11,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:11,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:11,791 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-15 10:28:11,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-15 10:28:11,793 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-15 10:28:11,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:11,793 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-15 10:28:11,794 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 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-15 10:28:11,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-15 10:28:11,863 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-15 10:28:11,863 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-15 10:28:11,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:28:11,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:11,864 INFO L499 BasicCegarLoop]: 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-15 10:28:11,883 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-15 10:28:12,075 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:12,075 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:12,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:12,076 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-15 10:28:12,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:12,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [943957433] [2022-04-15 10:28:12,077 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:12,077 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-15 10:28:12,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:12,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [693547424] [2022-04-15 10:28:12,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:12,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:12,113 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:12,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2045284861] [2022-04-15 10:28:12,114 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:12,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:12,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:12,117 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-15 10:28:12,120 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-15 10:28:12,181 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:12,182 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:12,183 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:28:12,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:12,197 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:12,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-15 10:28:12,487 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-15 10:28:12,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-15 10:28:12,488 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-15 10:28:12,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-15 10:28:12,488 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-15 10:28:12,488 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:28:12,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-15 10:28:12,489 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-15 10:28:12,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:12,489 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-15 10:28:12,490 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-15 10:28:12,491 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-15 10:28:12,491 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-15 10:28:12,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:12,491 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-15 10:28:12,492 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-15 10:28:12,492 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-15 10:28:12,493 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-15 10:28:12,493 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-15 10:28:12,500 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-15 10:28:12,506 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-15 10:28:12,508 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-15 10:28:12,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:12,511 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-15 10:28:12,511 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-15 10:28:12,512 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-15 10:28:12,512 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:25,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-15 10:28:25,126 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-15 10:28:25,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:25,127 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-15 10:28:25,128 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-15 10:28:25,134 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-15 10:28:25,135 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-15 10:28:25,135 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-15 10:28:25,136 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-15 10:28:25,137 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-15 10:28:25,137 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-15 10:28:25,137 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-15 10:28:25,138 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-15 10:28:25,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-15 10:28:25,138 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-15 10:28:25,138 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-15 10:28:25,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:25,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:25,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:25,138 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-15 10:28:25,139 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:28:25,139 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-15 10:28:25,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:25,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-15 10:28:25,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-15 10:28:25,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1677#true} is VALID [2022-04-15 10:28:25,140 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-15 10:28:25,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-15 10:28:25,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-15 10:28:25,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-15 10:28:25,140 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-15 10:28:25,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-15 10:28:25,141 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-15 10:28:25,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:25,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [693547424] [2022-04-15 10:28:25,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:25,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2045284861] [2022-04-15 10:28:25,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2045284861] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:25,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:25,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-15 10:28:25,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:25,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [943957433] [2022-04-15 10:28:25,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [943957433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:25,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:25,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:28:25,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1612300569] [2022-04-15 10:28:25,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:25,142 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-15 10:28:25,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:25,143 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-15 10:28:25,177 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-15 10:28:25,177 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:28:25,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:25,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:28:25,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-15 10:28:25,178 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-15 10:28:26,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:26,137 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-15 10:28:26,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:28:26,138 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-15 10:28:26,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:26,138 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-15 10:28:26,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-15 10:28:26,151 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-15 10:28:26,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-15 10:28:26,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-15 10:28:26,238 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-15 10:28:26,240 INFO L225 Difference]: With dead ends: 77 [2022-04-15 10:28:26,240 INFO L226 Difference]: Without dead ends: 63 [2022-04-15 10:28:26,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-15 10:28:26,241 INFO L913 BasicCegarLoop]: 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-15 10:28:26,241 INFO L914 BasicCegarLoop]: 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-15 10:28:26,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-15 10:28:26,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-15 10:28:26,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:26,316 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-15 10:28:26,316 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-15 10:28:26,317 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-15 10:28:26,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:26,320 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-15 10:28:26,320 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-15 10:28:26,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:26,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:26,321 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-15 10:28:26,322 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-15 10:28:26,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:26,324 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-15 10:28:26,325 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-15 10:28:26,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:26,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:26,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:26,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:26,326 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-15 10:28:26,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-15 10:28:26,329 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-15 10:28:26,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:26,329 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-15 10:28:26,329 INFO L479 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-15 10:28:26,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-15 10:28:26,419 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-15 10:28:26,419 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-15 10:28:26,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 10:28:26,419 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:26,420 INFO L499 BasicCegarLoop]: 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-15 10:28:26,436 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-15 10:28:26,623 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:26,623 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:26,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:26,624 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-15 10:28:26,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:26,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1854377910] [2022-04-15 10:28:26,624 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:26,624 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-15 10:28:26,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:26,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1021601889] [2022-04-15 10:28:26,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:26,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:26,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:26,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [52194494] [2022-04-15 10:28:26,638 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:26,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:26,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:26,660 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-15 10:28:26,661 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-15 10:28:26,705 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:26,705 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:26,706 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 10:28:26,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:26,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:26,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-15 10:28:26,945 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-15 10:28:26,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:26,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-15 10:28:26,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-15 10:28:26,946 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-15 10:28:26,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:28:26,946 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-15 10:28:26,946 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-15 10:28:26,947 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-15 10:28:26,947 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:26,947 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:26,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:28:26,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:26,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:26,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:26,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #73#return; {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:26,949 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:28:26,949 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-15 10:28:26,949 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-15 10:28:26,950 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-15 10:28:26,950 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #75#return; {2382#(and (<= main_~x~0 20) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:28:26,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= main_~x~0 20) (<= 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-15 10:28:26,951 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-15 10:28:26,951 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-15 10:28:26,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:26,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:26,951 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:26,952 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-15 10:28:26,952 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-15 10:28:26,952 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-15 10:28:26,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:26,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:26,952 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:26,953 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-15 10:28:26,953 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-15 10:28:26,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:26,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-15 10:28:26,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-15 10:28:26,955 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-15 10:28:26,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:27,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-15 10:28:27,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-15 10:28:27,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:27,208 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-15 10:28:27,209 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-15 10:28:27,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,210 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:27,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:27,210 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-15 10:28:27,211 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-15 10:28:27,211 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-15 10:28:27,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:27,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:27,212 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-15 10:28:27,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-15 10:28:27,212 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-15 10:28:27,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-15 10:28:27,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:27,213 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-15 10:28:27,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:28:27,213 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-15 10:28:27,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-15 10:28:27,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-15 10:28:27,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-15 10:28:27,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2311#true} is VALID [2022-04-15 10:28:27,214 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-15 10:28:27,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-15 10:28:27,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-15 10:28:27,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-15 10:28:27,214 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-15 10:28:27,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-15 10:28:27,214 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-15 10:28:27,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:27,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1021601889] [2022-04-15 10:28:27,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:27,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [52194494] [2022-04-15 10:28:27,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [52194494] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 10:28:27,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 10:28:27,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 10:28:27,215 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:27,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1854377910] [2022-04-15 10:28:27,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1854377910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:27,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:27,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:28:27,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [526022468] [2022-04-15 10:28:27,215 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:27,216 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-15 10:28:27,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:27,216 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-15 10:28:27,236 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-15 10:28:27,236 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:28:27,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:27,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:28:27,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-15 10:28:27,237 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-15 10:28:27,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:27,723 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-15 10:28:27,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:28:27,723 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-15 10:28:27,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:27,724 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-15 10:28:27,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-15 10:28:27,725 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-15 10:28:27,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-15 10:28:27,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-15 10:28:27,756 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-15 10:28:27,758 INFO L225 Difference]: With dead ends: 65 [2022-04-15 10:28:27,758 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 10:28:27,758 INFO L912 BasicCegarLoop]: 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-15 10:28:27,759 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:28:27,759 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:28:27,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 10:28:27,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-15 10:28:27,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:27,826 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-15 10:28:27,826 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-15 10:28:27,826 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-15 10:28:27,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:27,829 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-15 10:28:27,829 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:28:27,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:27,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:27,830 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-15 10:28:27,830 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-15 10:28:27,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:27,832 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-15 10:28:27,832 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:28:27,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:27,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:27,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:27,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:27,832 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-15 10:28:27,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-15 10:28:27,836 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-15 10:28:27,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:27,836 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-15 10:28:27,836 INFO L479 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-15 10:28:27,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-15 10:28:27,923 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-15 10:28:27,924 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-15 10:28:27,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 10:28:27,924 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:27,924 INFO L499 BasicCegarLoop]: 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-15 10:28:27,940 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 10:28:28,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:28,127 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:28,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:28,128 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-15 10:28:28,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:28,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2001146558] [2022-04-15 10:28:28,128 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:28,128 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-15 10:28:28,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:28,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287051800] [2022-04-15 10:28:28,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:28,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:28,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:28,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1932932700] [2022-04-15 10:28:28,145 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:28,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:28,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:28,147 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-15 10:28:28,161 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-15 10:28:28,192 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:28,192 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:28,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 10:28:28,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:28,209 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:28,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-15 10:28:28,770 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-15 10:28:28,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:28,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-15 10:28:28,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-15 10:28:28,770 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-15 10:28:28,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:28,771 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-15 10:28:28,772 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-15 10:28:28,772 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-15 10:28:28,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:28,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:28,774 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:28,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:28,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:28,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:28,778 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #73#return; {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:28,779 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:28,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:28,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:28,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:28,780 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #75#return; {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:28:28,781 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= main_~x~0 20) (<= 0 main_~x~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= main_~x~0 20) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:28,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= main_~x~0 20) (<= 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 20) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:28,781 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= main_~x~0 20) (<= 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-15 10:28:28,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:28,782 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-15 10:28:28,783 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-15 10:28:28,784 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:28:28,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:28:28,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:28:28,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= main_~x~0 20) (<= 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 20) (<= 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-15 10:28:28,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= main_~x~0 20) (<= 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)) (<= main_~x~0 20) (<= (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))) (<= 0 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:28,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= main_~x~0 20) (<= (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))) (<= 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)) (<= main_~x~0 20) (<= (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))) (<= 0 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 10:28:28,790 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= main_~x~0 20) (<= (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))) (<= 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-15 10:28:28,790 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:28,791 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-15 10:28:28,791 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-15 10:28:28,791 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-15 10:28:28,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:28:48,863 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-15 10:28:48,864 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-15 10:28:48,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:48,865 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-15 10:28:48,865 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-15 10:28:48,882 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-15 10:28:48,883 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-15 10:28:48,883 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-15 10:28:48,884 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-15 10:28:48,885 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-15 10:28:48,885 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-15 10:28:48,885 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-15 10:28:48,886 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-15 10:28:48,886 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-15 10:28:48,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-15 10:28:48,886 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-15 10:28:48,886 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-15 10:28:48,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:48,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:48,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:48,886 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-15 10:28:48,886 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-15 10:28:48,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:48,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:48,887 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-15 10:28:48,887 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-15 10:28:48,887 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2899#true} is VALID [2022-04-15 10:28:48,887 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-15 10:28:48,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-15 10:28:48,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-15 10:28:48,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-15 10:28:48,888 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-15 10:28:48,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-15 10:28:48,888 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-15 10:28:48,888 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:28:48,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287051800] [2022-04-15 10:28:48,888 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:28:48,889 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1932932700] [2022-04-15 10:28:48,889 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1932932700] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:28:48,889 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:28:48,889 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-15 10:28:48,889 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:28:48,889 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2001146558] [2022-04-15 10:28:48,889 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2001146558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:28:48,889 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:28:48,889 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:28:48,889 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [387697926] [2022-04-15 10:28:48,889 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:28:48,890 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-15 10:28:48,890 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:28:48,890 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-15 10:28:48,919 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-15 10:28:48,920 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:28:48,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:48,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:28:48,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:28:48,920 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-15 10:28:49,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:49,717 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-15 10:28:49,717 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 10:28:49,718 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-15 10:28:49,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:28:49,718 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-15 10:28:49,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-15 10:28:49,720 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-15 10:28:49,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-15 10:28:49,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-15 10:28:49,796 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-15 10:28:49,800 INFO L225 Difference]: With dead ends: 78 [2022-04-15 10:28:49,800 INFO L226 Difference]: Without dead ends: 65 [2022-04-15 10:28:49,800 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-15 10:28:49,801 INFO L913 BasicCegarLoop]: 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-15 10:28:49,802 INFO L914 BasicCegarLoop]: 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-15 10:28:49,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-15 10:28:49,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-15 10:28:49,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:28:49,901 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-15 10:28:49,901 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-15 10:28:49,901 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-15 10:28:49,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:49,903 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-15 10:28:49,903 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-15 10:28:49,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:49,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:49,903 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-15 10:28:49,903 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-15 10:28:49,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:28:49,905 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-15 10:28:49,905 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-15 10:28:49,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:28:49,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:28:49,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:28:49,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:28:49,906 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-15 10:28:49,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-15 10:28:49,907 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-15 10:28:49,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:28:49,908 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-15 10:28:49,908 INFO L479 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-15 10:28:49,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-15 10:28:50,025 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-15 10:28:50,025 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-15 10:28:50,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 10:28:50,026 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:28:50,026 INFO L499 BasicCegarLoop]: 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-15 10:28:50,042 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 10:28:50,227 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:50,227 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:28:50,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:28:50,228 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-15 10:28:50,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:28:50,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1008618005] [2022-04-15 10:28:50,228 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:28:50,229 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-15 10:28:50,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:28:50,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1471027065] [2022-04-15 10:28:50,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:28:50,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:28:50,242 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:28:50,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [16542454] [2022-04-15 10:28:50,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:28:50,243 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:28:50,243 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:28:50,244 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-15 10:28:50,248 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-15 10:28:50,310 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:28:50,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:28:50,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:28:50,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:28:50,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:28:50,561 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-15 10:28:50,561 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-15 10:28:50,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:50,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-15 10:28:50,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-15 10:28:50,562 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-15 10:28:50,562 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-15 10:28:50,562 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-15 10:28:50,562 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:50,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:50,563 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-15 10:28:50,563 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-15 10:28:50,563 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:28:50,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:28:50,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:28:50,563 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-15 10:28:50,564 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-15 10:28:50,564 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-15 10:28:50,564 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-15 10:28:50,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:50,565 INFO L290 TraceCheckUtils]: 26: Hoare triple {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:50,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:28:50,566 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {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-15 10:28:50,566 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-15 10:28:50,567 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-15 10:28:50,568 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-15 10:28:50,569 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; {3663#(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-15 10:28:50,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {3663#(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; {3663#(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-15 10:28:50,573 INFO L272 TraceCheckUtils]: 34: Hoare triple {3663#(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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:28:50,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:28:50,574 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-15 10:28:50,574 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-15 10:28:50,574 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-15 10:28:50,574 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:29:12,892 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-15 10:29:12,893 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-15 10:29:12,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:29:12,894 INFO L272 TraceCheckUtils]: 34: Hoare triple {3690#(= (+ 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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:29:12,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#(= (+ 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; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#(= (+ 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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#(= (+ 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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {3690#(= (+ 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); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,921 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3559#true} #77#return; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:29:12,921 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:12,921 INFO L290 TraceCheckUtils]: 26: Hoare triple {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:29:12,922 INFO L272 TraceCheckUtils]: 24: Hoare triple {3559#true} 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-15 10:29:12,922 INFO L290 TraceCheckUtils]: 23: Hoare triple {3559#true} assume !false; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:29:12,922 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-15 10:29:12,922 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:29:12,922 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:29:12,923 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-15 10:29:12,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-15 10:29:12,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:29:12,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-15 10:29:12,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-15 10:29:12,927 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3559#true} is VALID [2022-04-15 10:29:12,927 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-15 10:29:12,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-15 10:29:12,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-15 10:29:12,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-15 10:29:12,928 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-15 10:29:12,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-15 10:29:12,928 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-15 10:29:12,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:29:12,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1471027065] [2022-04-15 10:29:12,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:29:12,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [16542454] [2022-04-15 10:29:12,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [16542454] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:29:12,929 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:29:12,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-15 10:29:12,929 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:29:12,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1008618005] [2022-04-15 10:29:12,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1008618005] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:29:12,929 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:29:12,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:29:12,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [316379120] [2022-04-15 10:29:12,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:29:12,930 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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 38 [2022-04-15 10:29:12,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:29:12,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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-15 10:29:12,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:12,963 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:29:12,963 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:12,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:29:12,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:29:12,964 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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-15 10:29:13,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:13,556 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-15 10:29:13,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:29:13,556 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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 38 [2022-04-15 10:29:13,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:29:13,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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-15 10:29:13,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-15 10:29:13,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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-15 10:29:13,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-15 10:29:13,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-04-15 10:29:13,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:13,618 INFO L225 Difference]: With dead ends: 76 [2022-04-15 10:29:13,618 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 10:29:13,618 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:29:13,618 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:29:13,619 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 120 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 10:29:13,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 10:29:13,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2022-04-15 10:29:13,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:29:13,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 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-15 10:29:13,703 INFO L74 IsIncluded]: Start isIncluded. First operand 74 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-15 10:29:13,703 INFO L87 Difference]: Start difference. First operand 74 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-15 10:29:13,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:13,706 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-15 10:29:13,706 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-15 10:29:13,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:13,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:13,706 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 74 states. [2022-04-15 10:29:13,706 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 74 states. [2022-04-15 10:29:13,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:13,708 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-15 10:29:13,708 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-15 10:29:13,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:13,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:13,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:29:13,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:29:13,709 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-15 10:29:13,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-15 10:29:13,711 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-15 10:29:13,711 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:29:13,711 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-15 10:29:13,712 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 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-15 10:29:13,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-15 10:29:13,837 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-15 10:29:13,837 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-15 10:29:13,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 10:29:13,837 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:29:13,838 INFO L499 BasicCegarLoop]: 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-15 10:29:13,841 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-15 10:29:14,039 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:29:14,040 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:29:14,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:29:14,040 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-15 10:29:14,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:14,040 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2118939582] [2022-04-15 10:29:14,041 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:29:14,041 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-15 10:29:14,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:29:14,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1300728668] [2022-04-15 10:29:14,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:29:14,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:29:14,057 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:29:14,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2139242378] [2022-04-15 10:29:14,057 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:29:14,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:29:14,057 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:29:14,063 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-15 10:29:14,063 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-15 10:29:14,099 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:29:14,099 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:29:14,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 10:29:14,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:29:14,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:29:14,686 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-15 10:29:14,686 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:14,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:29:14,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:14,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:14,688 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:29:14,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:29:14,689 INFO L272 TraceCheckUtils]: 12: Hoare triple {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:14,689 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:14,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:14,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:14,689 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #73#return; {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-15 10:29:14,689 INFO L272 TraceCheckUtils]: 17: Hoare triple {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:14,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:29:14,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:14,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:14,691 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4263#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #75#return; {4297#(and (<= main_~x~0 20) (<= 0 main_~x~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:14,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#(and (<= main_~x~0 20) (<= 0 main_~x~0) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,691 INFO L290 TraceCheckUtils]: 23: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,692 INFO L272 TraceCheckUtils]: 24: Hoare triple {4301#(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)); {4226#true} is VALID [2022-04-15 10:29:14,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:14,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:14,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:14,692 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {4323#(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; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,694 INFO L272 TraceCheckUtils]: 32: Hoare triple {4323#(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)); {4226#true} is VALID [2022-04-15 10:29:14,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:14,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:14,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:14,695 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:29:14,695 INFO L290 TraceCheckUtils]: 37: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-15 10:29:14,695 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-15 10:29:14,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-15 10:29:14,695 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-15 10:29:14,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-15 10:29:14,695 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-15 10:29:14,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:29:15,527 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-15 10:29:15,527 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-15 10:29:15,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-15 10:29:15,527 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-15 10:29:15,528 INFO L290 TraceCheckUtils]: 37: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-15 10:29:15,528 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:29:15,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:15,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:15,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:15,528 INFO L272 TraceCheckUtils]: 32: Hoare triple {4372#(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)); {4226#true} is VALID [2022-04-15 10:29:15,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:29:15,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {4394#(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; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-15 10:29:15,530 INFO L290 TraceCheckUtils]: 29: Hoare triple {4398#(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); {4394#(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-15 10:29:15,531 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4398#(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; {4398#(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-15 10:29:15,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:15,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:15,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:15,531 INFO L272 TraceCheckUtils]: 24: Hoare triple {4398#(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)); {4226#true} is VALID [2022-04-15 10:29:15,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {4398#(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; {4398#(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-15 10:29:15,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4398#(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-15 10:29:15,532 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:29:15,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L290 TraceCheckUtils]: 19: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L272 TraceCheckUtils]: 17: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:29:15,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-15 10:29:15,533 INFO L272 TraceCheckUtils]: 12: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:15,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:29:15,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-15 10:29:15,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:15,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:15,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:29:15,536 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-15 10:29:15,536 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-15 10:29:15,536 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-15 10:29:15,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:29:15,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1300728668] [2022-04-15 10:29:15,537 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:29:15,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2139242378] [2022-04-15 10:29:15,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2139242378] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:29:15,537 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:29:15,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 10:29:15,537 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:29:15,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2118939582] [2022-04-15 10:29:15,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2118939582] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:29:15,537 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:29:15,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:29:15,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1850152157] [2022-04-15 10:29:15,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:29:15,538 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-15 10:29:15,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:29:15,538 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-15 10:29:15,563 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-15 10:29:15,563 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:29:15,563 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:15,563 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:29:15,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-15 10:29:15,565 INFO L87 Difference]: Start difference. First operand 63 states and 77 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-15 10:29:15,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:15,961 INFO L93 Difference]: Finished difference Result 82 states and 103 transitions. [2022-04-15 10:29:15,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:29:15,961 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-15 10:29:15,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:29:15,963 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-15 10:29:15,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:29:15,965 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-15 10:29:15,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:29:15,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-15 10:29:16,020 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-15 10:29:16,022 INFO L225 Difference]: With dead ends: 82 [2022-04-15 10:29:16,023 INFO L226 Difference]: Without dead ends: 75 [2022-04-15 10:29:16,023 INFO L912 BasicCegarLoop]: 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-15 10:29:16,025 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:29:16,025 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 121 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:29:16,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-15 10:29:16,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-15 10:29:16,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:29:16,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:29:16,155 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:29:16,155 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:29:16,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:16,158 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-15 10:29:16,158 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-15 10:29:16,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:16,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:16,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-15 10:29:16,158 INFO L87 Difference]: Start difference. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-15 10:29:16,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:29:16,161 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-15 10:29:16,161 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-15 10:29:16,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:29:16,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:29:16,161 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:29:16,161 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:29:16,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 10:29:16,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 93 transitions. [2022-04-15 10:29:16,164 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 93 transitions. Word has length 42 [2022-04-15 10:29:16,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:29:16,164 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 93 transitions. [2022-04-15 10:29:16,164 INFO L479 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-15 10:29:16,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 93 transitions. [2022-04-15 10:29:16,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:29:16,298 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 93 transitions. [2022-04-15 10:29:16,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:29:16,299 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:29:16,299 INFO L499 BasicCegarLoop]: 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-15 10:29:16,315 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 10:29:16,499 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 10:29:16,500 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:29:16,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:29:16,500 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-15 10:29:16,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:29:16,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1564798026] [2022-04-15 10:29:16,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:29:16,500 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-15 10:29:16,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:29:16,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130396351] [2022-04-15 10:29:16,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:29:16,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:29:16,515 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:29:16,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [876460857] [2022-04-15 10:29:16,515 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:29:16,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:29:16,515 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:29:16,516 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-15 10:29:16,521 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-15 10:29:16,553 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:29:16,553 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:29:16,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 10:29:16,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:29:16,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:29:24,872 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:29:25,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-15 10:29:25,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-15 10:29:25,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:25,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-15 10:29:25,344 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:29:25,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {5015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:29:25,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {5015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:25,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {5019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:29:25,346 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5019#(not (= |assume_abort_if_not_#in~cond| 0))} {4956#true} #75#return; {5026#(<= 1 main_~y~0)} is VALID [2022-04-15 10:29:25,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {5026#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,347 INFO L272 TraceCheckUtils]: 24: Hoare triple {5030#(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)); {4956#true} is VALID [2022-04-15 10:29:25,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:29:25,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:29:25,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:29:25,347 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {5030#(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)); {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {5030#(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; {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:25,349 INFO L272 TraceCheckUtils]: 33: Hoare triple {5030#(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)); {4956#true} is VALID [2022-04-15 10:29:25,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5067#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:29:25,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {5067#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:25,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:29:27,352 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} {5030#(and (<= 1 main_~p~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {5078#(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-15 10:29:27,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {5078#(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); {5082#(and (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:29:27,354 INFO L272 TraceCheckUtils]: 39: Hoare triple {5082#(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)); {5086#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:29:27,354 INFO L290 TraceCheckUtils]: 40: Hoare triple {5086#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5090#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:29:27,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {5090#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-15 10:29:27,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-15 10:29:27,355 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-15 10:29:27,355 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:30:07,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-15 10:30:07,739 INFO L290 TraceCheckUtils]: 41: Hoare triple {5090#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-15 10:30:07,739 INFO L290 TraceCheckUtils]: 40: Hoare triple {5086#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5090#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:07,740 INFO L272 TraceCheckUtils]: 39: Hoare triple {5106#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5086#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:30:07,740 INFO L290 TraceCheckUtils]: 38: Hoare triple {5110#(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); {5106#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-15 10:30:07,742 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#true} #77#return; {5110#(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-15 10:30:07,742 INFO L290 TraceCheckUtils]: 36: Hoare triple {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {5123#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5071#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5123#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:30:07,743 INFO L272 TraceCheckUtils]: 33: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 32: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {4956#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; {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {4956#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)); {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:30:07,743 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-15 10:30:07,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-15 10:30:07,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-15 10:30:07,746 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-15 10:30:07,746 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:07,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130396351] [2022-04-15 10:30:07,746 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:30:07,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [876460857] [2022-04-15 10:30:07,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [876460857] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:30:07,746 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:30:07,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-15 10:30:07,747 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:07,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1564798026] [2022-04-15 10:30:07,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1564798026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:07,747 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:07,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:30:07,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1595934353] [2022-04-15 10:30:07,747 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:07,747 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-15 10:30:07,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:07,748 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-15 10:30:09,787 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-15 10:30:09,787 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:30:09,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:09,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:30:09,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:30:09,788 INFO L87 Difference]: Start difference. First operand 73 states and 93 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-15 10:30:14,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:14,414 INFO L93 Difference]: Finished difference Result 86 states and 110 transitions. [2022-04-15 10:30:14,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 10:30:14,414 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-15 10:30:14,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:14,414 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-15 10:30:14,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 54 transitions. [2022-04-15 10:30:14,415 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-15 10:30:14,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 54 transitions. [2022-04-15 10:30:14,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 54 transitions. [2022-04-15 10:30:16,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 53 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:16,465 INFO L225 Difference]: With dead ends: 86 [2022-04-15 10:30:16,465 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 10:30:16,466 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=70, Invalid=310, Unknown=0, NotChecked=0, Total=380 [2022-04-15 10:30:16,466 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 235 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 243 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 235 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-15 10:30:16,466 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 151 Invalid, 243 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 235 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-15 10:30:16,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 10:30:16,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 78. [2022-04-15 10:30:16,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:16,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 10:30:16,626 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 10:30:16,626 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 10:30:16,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:16,628 INFO L93 Difference]: Finished difference Result 79 states and 102 transitions. [2022-04-15 10:30:16,629 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 10:30:16,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:16,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:16,629 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 79 states. [2022-04-15 10:30:16,629 INFO L87 Difference]: Start difference. First operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 79 states. [2022-04-15 10:30:16,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:16,631 INFO L93 Difference]: Finished difference Result 79 states and 102 transitions. [2022-04-15 10:30:16,631 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 10:30:16,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:16,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:16,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:16,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:16,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 55 states have (on average 1.309090909090909) internal successors, (72), 58 states have internal predecessors, (72), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 10:30:16,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 100 transitions. [2022-04-15 10:30:16,634 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 100 transitions. Word has length 43 [2022-04-15 10:30:16,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:16,634 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 100 transitions. [2022-04-15 10:30:16,634 INFO L479 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-15 10:30:16,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 100 transitions. [2022-04-15 10:30:18,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 99 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:18,817 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-15 10:30:18,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-15 10:30:18,817 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:18,817 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 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] [2022-04-15 10:30:18,833 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-15 10:30:19,017 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 10:30:19,018 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:19,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:19,018 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 3 times [2022-04-15 10:30:19,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:19,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [89841233] [2022-04-15 10:30:19,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:19,019 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 4 times [2022-04-15 10:30:19,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:19,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940603552] [2022-04-15 10:30:19,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:19,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:19,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:19,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [585133772] [2022-04-15 10:30:19,029 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:30:19,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:19,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:19,030 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-15 10:30:19,037 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-15 10:30:19,074 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:30:19,074 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:19,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 10:30:19,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:19,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:40,925 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:39:37,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {5724#true} call ULTIMATE.init(); {5724#true} is VALID [2022-04-15 10:39:37,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {5724#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); {5724#true} is VALID [2022-04-15 10:39:37,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {5724#true} assume true; {5724#true} is VALID [2022-04-15 10:39:37,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5724#true} {5724#true} #83#return; {5724#true} is VALID [2022-04-15 10:39:37,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {5724#true} call #t~ret6 := main(); {5724#true} is VALID [2022-04-15 10:39:37,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {5724#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; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {5724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {5724#true} ~cond := #in~cond; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {5724#true} assume !(0 == ~cond); {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {5724#true} assume true; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5724#true} {5724#true} #71#return; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {5724#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L272 TraceCheckUtils]: 12: Hoare triple {5724#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {5724#true} ~cond := #in~cond; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {5724#true} assume !(0 == ~cond); {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {5724#true} assume true; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5724#true} {5724#true} #73#return; {5724#true} is VALID [2022-04-15 10:39:37,675 INFO L272 TraceCheckUtils]: 17: Hoare triple {5724#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5724#true} is VALID [2022-04-15 10:39:37,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {5724#true} ~cond := #in~cond; {5783#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:39:37,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {5783#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5787#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:39:37,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {5787#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5787#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:39:37,677 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5787#(not (= |assume_abort_if_not_#in~cond| 0))} {5724#true} #75#return; {5794#(<= 1 main_~y~0)} is VALID [2022-04-15 10:39:37,677 INFO L290 TraceCheckUtils]: 22: Hoare triple {5794#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume !false; {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,677 INFO L272 TraceCheckUtils]: 24: Hoare triple {5798#(and (= main_~b~0 main_~y~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)); {5724#true} is VALID [2022-04-15 10:39:37,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {5724#true} ~cond := #in~cond; {5724#true} is VALID [2022-04-15 10:39:37,677 INFO L290 TraceCheckUtils]: 26: Hoare triple {5724#true} assume !(0 == ~cond); {5724#true} is VALID [2022-04-15 10:39:37,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {5724#true} assume true; {5724#true} is VALID [2022-04-15 10:39:37,678 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5724#true} {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} #77#return; {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5798#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,681 INFO L290 TraceCheckUtils]: 30: Hoare triple {5798#(and (= main_~b~0 main_~y~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; {5823#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,681 INFO L290 TraceCheckUtils]: 31: Hoare triple {5823#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !false; {5823#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,681 INFO L272 TraceCheckUtils]: 32: Hoare triple {5823#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 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)); {5724#true} is VALID [2022-04-15 10:39:37,681 INFO L290 TraceCheckUtils]: 33: Hoare triple {5724#true} ~cond := #in~cond; {5833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:37,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {5833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:37,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {5837#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:37,683 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5837#(not (= |__VERIFIER_assert_#in~cond| 0))} {5823#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} #77#return; {5844#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:37,683 INFO L290 TraceCheckUtils]: 37: Hoare triple {5844#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5844#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:39,685 WARN L290 TraceCheckUtils]: 38: Hoare triple {5844#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 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; {5851#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (div (+ main_~q~0 (* (- 1) (* main_~y~0 main_~x~0))) (- 2)) (* (- 1) (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4)))) 0) (= (mod (* main_~p~0 3) 4) 0) (= (mod (+ (* (div main_~y~0 2) main_~a~0 2 (div (* (- 1) main_~p~0) (- 4))) main_~q~0 (* (- 1) main_~y~0 main_~x~0)) 2) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is UNKNOWN [2022-04-15 10:39:39,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {5851#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (div (+ main_~q~0 (* (- 1) (* main_~y~0 main_~x~0))) (- 2)) (* (- 1) (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4)))) 0) (= (mod (* main_~p~0 3) 4) 0) (= (mod (+ (* (div main_~y~0 2) main_~a~0 2 (div (* (- 1) main_~p~0) (- 4))) main_~q~0 (* (- 1) main_~y~0 main_~x~0)) 2) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} assume !false; {5851#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (div (+ main_~q~0 (* (- 1) (* main_~y~0 main_~x~0))) (- 2)) (* (- 1) (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4)))) 0) (= (mod (* main_~p~0 3) 4) 0) (= (mod (+ (* (div main_~y~0 2) main_~a~0 2 (div (* (- 1) main_~p~0) (- 4))) main_~q~0 (* (- 1) main_~y~0 main_~x~0)) 2) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-15 10:39:41,688 WARN L272 TraceCheckUtils]: 40: Hoare triple {5851#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (div (+ main_~q~0 (* (- 1) (* main_~y~0 main_~x~0))) (- 2)) (* (- 1) (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4)))) 0) (= (mod (* main_~p~0 3) 4) 0) (= (mod (+ (* (div main_~y~0 2) main_~a~0 2 (div (* (- 1) main_~p~0) (- 4))) main_~q~0 (* (- 1) main_~y~0 main_~x~0)) 2) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= 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)); {5858#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:39:41,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {5858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:41,689 INFO L290 TraceCheckUtils]: 42: Hoare triple {5862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5725#false} is VALID [2022-04-15 10:39:41,689 INFO L290 TraceCheckUtils]: 43: Hoare triple {5725#false} assume !false; {5725#false} is VALID [2022-04-15 10:39:41,690 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 10:39:41,690 INFO L328 TraceCheckSpWp]: Computing backward predicates...