/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_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 07:26:31,639 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 07:26:31,671 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 07:26:31,724 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 07:26:31,725 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 07:26:31,726 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 07:26:31,727 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 07:26:31,728 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 07:26:31,730 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 07:26:31,730 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 07:26:31,734 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 07:26:31,737 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 07:26:31,738 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 07:26:31,742 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 07:26:31,743 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 07:26:31,747 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 07:26:31,748 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 07:26:31,749 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 07:26:31,751 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 07:26:31,756 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 07:26:31,757 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 07:26:31,758 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 07:26:31,759 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 07:26:31,760 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 07:26:31,761 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 07:26:31,766 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 07:26:31,766 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 07:26:31,767 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 07:26:31,767 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 07:26:31,768 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 07:26:31,769 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 07:26:31,769 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 07:26:31,771 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 07:26:31,772 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 07:26:31,772 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 07:26:31,773 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 07:26:31,773 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 07:26:31,774 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 07:26:31,774 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 07:26:31,774 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 07:26:31,775 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 07:26:31,777 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 07:26:31,778 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 07:26:31,787 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 07:26:31,787 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 07:26:31,788 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 07:26:31,788 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 07:26:31,788 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 07:26:31,788 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 07:26:31,788 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 07:26:31,788 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 07:26:31,789 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 07:26:31,789 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 07:26:31,790 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 07:26:31,790 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 07:26:31,790 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 07:26:31,790 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 07:26:31,790 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 07:26:31,790 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 07:26:31,791 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 07:26:31,791 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 07:26:31,791 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 07:26:31,791 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 07:26:31,791 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-08 07:26:32,033 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 07:26:32,051 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 07:26:32,053 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 07:26:32,054 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 07:26:32,055 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 07:26:32,056 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-08 07:26:32,117 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0019dd8df/2e864fac809348c89ca177b0535ccca5/FLAG489e5695d [2022-04-08 07:26:32,496 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 07:26:32,497 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-08 07:26:32,501 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0019dd8df/2e864fac809348c89ca177b0535ccca5/FLAG489e5695d [2022-04-08 07:26:32,511 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0019dd8df/2e864fac809348c89ca177b0535ccca5 [2022-04-08 07:26:32,513 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 07:26:32,514 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 07:26:32,516 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 07:26:32,516 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 07:26:32,518 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 07:26:32,519 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,520 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@9684a7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32, skipping insertion in model container [2022-04-08 07:26:32,520 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,525 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 07:26:32,536 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 07:26:32,702 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_valuebound100.c[524,537] [2022-04-08 07:26:32,731 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 07:26:32,742 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 07:26:32,755 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_valuebound100.c[524,537] [2022-04-08 07:26:32,777 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 07:26:32,794 INFO L208 MainTranslator]: Completed translation [2022-04-08 07:26:32,795 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32 WrapperNode [2022-04-08 07:26:32,795 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 07:26:32,796 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 07:26:32,796 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 07:26:32,796 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 07:26:32,805 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,805 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,820 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,821 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,827 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,837 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,838 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,839 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 07:26:32,840 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 07:26:32,840 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 07:26:32,840 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 07:26:32,843 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (1/1) ... [2022-04-08 07:26:32,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 07:26:32,858 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:26:32,873 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-08 07:26:32,899 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-08 07:26:32,915 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 07:26:32,915 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 07:26:32,916 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 07:26:32,916 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 07:26:32,916 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 07:26:32,916 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 07:26:32,916 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 07:26:32,916 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 07:26:32,917 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 07:26:32,917 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 07:26:32,917 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 07:26:32,918 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 07:26:32,919 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 07:26:32,919 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 07:26:32,979 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 07:26:32,980 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 07:26:33,225 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 07:26:33,232 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 07:26:33,232 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 07:26:33,233 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 07:26:33 BoogieIcfgContainer [2022-04-08 07:26:33,234 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 07:26:33,235 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 07:26:33,235 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 07:26:33,238 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 07:26:33,239 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 07:26:32" (1/3) ... [2022-04-08 07:26:33,239 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6d2a594f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 07:26:33, skipping insertion in model container [2022-04-08 07:26:33,239 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:26:32" (2/3) ... [2022-04-08 07:26:33,240 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6d2a594f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 07:26:33, skipping insertion in model container [2022-04-08 07:26:33,240 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 07:26:33" (3/3) ... [2022-04-08 07:26:33,243 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound100.c [2022-04-08 07:26:33,248 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 07:26:33,248 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 07:26:33,298 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 07:26:33,306 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-08 07:26:33,307 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 07:26:33,330 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-08 07:26:33,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 07:26:33,337 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:26:33,338 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-08 07:26:33,338 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:26:33,343 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:26:33,343 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-08 07:26:33,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:26:33,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1215186634] [2022-04-08 07:26:33,366 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:26:33,366 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-08 07:26:33,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:26:33,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1977973765] [2022-04-08 07:26:33,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:26:33,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:26:33,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:33,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 07:26:33,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:33,594 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-08 07:26:33,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 07:26:33,595 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 07:26:33,596 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 07:26:33,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:33,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 07:26:33,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 07:26:33,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:33,621 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 07:26:33,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 07:26:33,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:33,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 07:26:33,636 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-08 07:26:33,636 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-08 07:26:33,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 07:26:33,637 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 07:26:33,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-08 07:26:33,637 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-08 07:26:33,637 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-08 07:26:33,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 07:26:33,639 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-08 07:26:33,640 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-08 07:26:33,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,641 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 07:26:33,641 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-08 07:26:33,641 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 07:26:33,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 07:26:33,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 07:26:33,642 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 07:26:33,643 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-08 07:26:33,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-08 07:26:33,644 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-08 07:26:33,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 07:26:33,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 07:26:33,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 07:26:33,646 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-08 07:26:33,646 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:26:33,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1977973765] [2022-04-08 07:26:33,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1977973765] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:26:33,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:26:33,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 07:26:33,652 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:26:33,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1215186634] [2022-04-08 07:26:33,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1215186634] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:26:33,653 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:26:33,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 07:26:33,653 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1814379224] [2022-04-08 07:26:33,653 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:26:33,659 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-08 07:26:33,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:26:33,663 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-08 07:26:33,699 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-08 07:26:33,699 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 07:26:33,699 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:26:33,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 07:26:33,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 07:26:33,724 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-08 07:26:33,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:33,865 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-08 07:26:33,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 07:26:33,865 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-08 07:26:33,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:26:33,867 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-08 07:26:33,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 07:26:33,875 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-08 07:26:33,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 07:26:33,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-08 07:26:33,992 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-08 07:26:34,006 INFO L225 Difference]: With dead ends: 61 [2022-04-08 07:26:34,006 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 07:26:34,009 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-08 07:26:34,014 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-08 07:26:34,015 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-08 07:26:34,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 07:26:34,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 07:26:34,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:26:34,043 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-08 07:26:34,044 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-08 07:26:34,044 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-08 07:26:34,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:34,048 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 07:26:34,048 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 07:26:34,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:26:34,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:26:34,049 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-08 07:26:34,050 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-08 07:26:34,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:34,053 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 07:26:34,053 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 07:26:34,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:26:34,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:26:34,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:26:34,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:26:34,056 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-08 07:26:34,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-08 07:26:34,062 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-08 07:26:34,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:26:34,062 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-08 07:26:34,062 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-08 07:26:34,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-08 07:26:34,102 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-08 07:26:34,102 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 07:26:34,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 07:26:34,103 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:26:34,103 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-08 07:26:34,103 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 07:26:34,103 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:26:34,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:26:34,104 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-08 07:26:34,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:26:34,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1243774647] [2022-04-08 07:26:34,105 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:26:34,105 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-08 07:26:34,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:26:34,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1376756500] [2022-04-08 07:26:34,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:26:34,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:26:34,126 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:26:34,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1648418799] [2022-04-08 07:26:34,127 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:26:34,127 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:26:34,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:26:34,129 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-08 07:26:34,157 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-08 07:26:34,184 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 07:26:34,184 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:26:34,186 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 07:26:34,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:34,201 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:26:34,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-08 07:26:34,366 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-08 07:26:34,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 07:26:34,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-08 07:26:34,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-08 07:26:34,367 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-08 07:26:34,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-08 07:26:34,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 07:26:34,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 07:26:34,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 07:26:34,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-08 07:26:34,368 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-08 07:26:34,368 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-08 07:26:34,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 07:26:34,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 07:26:34,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 07:26:34,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-08 07:26:34,369 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-08 07:26:34,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 07:26:34,370 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 07:26:34,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 07:26:34,370 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-08 07:26:34,371 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-08 07:26:34,372 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-08 07:26:34,373 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-08 07:26:34,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:26:34,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-08 07:26:34,374 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-08 07:26:34,375 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-08 07:26:34,375 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 07:26:34,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:26:34,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1376756500] [2022-04-08 07:26:34,375 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:26:34,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648418799] [2022-04-08 07:26:34,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648418799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:26:34,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:26:34,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 07:26:34,377 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:26:34,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1243774647] [2022-04-08 07:26:34,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1243774647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:26:34,377 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:26:34,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 07:26:34,378 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1630506863] [2022-04-08 07:26:34,378 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:26:34,378 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-08 07:26:34,379 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:26:34,379 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-08 07:26:34,398 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-08 07:26:34,399 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 07:26:34,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:26:34,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 07:26:34,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 07:26:34,400 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-08 07:26:34,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:34,607 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 07:26:34,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 07:26:34,608 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-08 07:26:34,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:26:34,608 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-08 07:26:34,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 07:26:34,611 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-08 07:26:34,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 07:26:34,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 07:26:34,672 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-08 07:26:34,678 INFO L225 Difference]: With dead ends: 43 [2022-04-08 07:26:34,678 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 07:26:34,684 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-08 07:26:34,686 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-08 07:26:34,692 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-08 07:26:34,693 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 07:26:34,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-08 07:26:34,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:26:34,715 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-08 07:26:34,716 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-08 07:26:34,717 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-08 07:26:34,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:34,722 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 07:26:34,723 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 07:26:34,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:26:34,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:26:34,725 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-08 07:26:34,726 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-08 07:26:34,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:26:34,732 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 07:26:34,732 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 07:26:34,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:26:34,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:26:34,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:26:34,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:26:34,738 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-08 07:26:34,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-08 07:26:34,741 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-08 07:26:34,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:26:34,742 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-08 07:26:34,742 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-08 07:26:34,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-08 07:26:34,792 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-08 07:26:34,792 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-08 07:26:34,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 07:26:34,794 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:26:34,794 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-08 07:26:34,819 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-08 07:26:35,007 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-08 07:26:35,008 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:26:35,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:26:35,008 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-08 07:26:35,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:26:35,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1599315488] [2022-04-08 07:26:35,009 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:26:35,009 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-08 07:26:35,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:26:35,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [331861636] [2022-04-08 07:26:35,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:26:35,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:26:35,038 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:26:35,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651127071] [2022-04-08 07:26:35,039 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:26:35,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:26:35,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:26:35,040 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-08 07:26:35,055 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-08 07:26:35,088 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:26:35,088 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:26:35,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 07:26:35,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:26:35,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:26:45,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 07:26:45,953 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-08 07:26:45,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:26:45,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 07:26:45,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 07:26:45,954 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-08 07:26:45,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 07:26:45,958 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-08 07:26:45,958 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-08 07:26:45,959 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-08 07:26:45,959 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:26:45,960 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:26:45,960 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 07:26:45,960 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 07:26:45,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 07:26:45,961 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:26:45,963 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:26:45,963 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-08 07:26:45,964 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-08 07:26:45,964 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-08 07:26:45,964 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-08 07:26:45,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:26:45,966 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:26:45,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:26:45,966 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 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-08 07:26:45,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:26:45,969 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-08 07:26:45,969 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-08 07:26:47,972 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} #77#return; {719#(and (<= 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) (<= main_~x~0 100) (<= 1 main_~y~0))} is UNKNOWN [2022-04-08 07:26:47,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= 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) (<= main_~x~0 100) (<= 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-08 07:26:47,976 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-08 07:26:47,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:26:47,977 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 07:26:47,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 07:26:47,978 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-08 07:26:47,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:27:02,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 07:27:02,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 07:27:02,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:27:02,734 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-08 07:27:02,734 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-08 07:27:02,736 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-08 07:27:02,737 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-08 07:27:02,737 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-08 07:27:02,738 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-08 07:27:02,738 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-08 07:27:02,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-08 07:27:02,738 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-08 07:27:02,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-08 07:27:02,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:27:02,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 07:27:02,739 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 07:27:02,739 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-08 07:27:02,739 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-08 07:27:02,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:27:02,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 07:27:02,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 07:27:02,740 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 07:27:02,740 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-08 07:27:02,740 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-08 07:27:02,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:27:02,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 07:27:02,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 07:27:02,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 07:27:02,741 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-08 07:27:02,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 07:27:02,741 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 07:27:02,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 07:27:02,741 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-08 07:27:02,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 07:27:02,742 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-08 07:27:02,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:27:02,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [331861636] [2022-04-08 07:27:02,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:27:02,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651127071] [2022-04-08 07:27:02,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651127071] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:27:02,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:27:02,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-08 07:27:02,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:27:02,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1599315488] [2022-04-08 07:27:02,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1599315488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:27:02,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:27:02,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 07:27:02,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1335420805] [2022-04-08 07:27:02,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:27:02,744 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-08 07:27:02,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:27:02,745 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-08 07:27:04,798 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-08 07:27:04,799 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 07:27:04,799 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:27:04,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 07:27:04,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-08 07:27:04,800 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-08 07:27:07,022 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.53s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 07:27:10,431 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-08 07:27:12,532 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-08 07:27:12,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:27:12,695 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 07:27:12,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 07:27:12,695 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-08 07:27:12,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:27:12,696 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-08 07:27:12,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 07:27:12,698 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-08 07:27:12,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 07:27:12,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-08 07:27:12,765 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-08 07:27:12,766 INFO L225 Difference]: With dead ends: 47 [2022-04-08 07:27:12,767 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 07:27:12,767 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-08 07:27:12,768 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 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, 227 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.7s IncrementalHoareTripleChecker+Time [2022-04-08 07:27:12,768 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 6.7s Time] [2022-04-08 07:27:12,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 07:27:12,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-08 07:27:12,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:27:12,821 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-08 07:27:12,821 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-08 07:27:12,821 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-08 07:27:12,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:27:12,824 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 07:27:12,824 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 07:27:12,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:27:12,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:27:12,825 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-08 07:27:12,825 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-08 07:27:12,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:27:12,827 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 07:27:12,827 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 07:27:12,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:27:12,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:27:12,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:27:12,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:27:12,828 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-08 07:27:12,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-08 07:27:12,830 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-08 07:27:12,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:27:12,831 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-08 07:27:12,831 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-08 07:27:12,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-08 07:27:12,908 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-08 07:27:12,908 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-08 07:27:12,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 07:27:12,909 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:27:12,909 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-08 07:27:12,935 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-08 07:27:13,109 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-08 07:27:13,110 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:27:13,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:27:13,110 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-08 07:27:13,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:27:13,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [685113649] [2022-04-08 07:27:13,110 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:27:13,111 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-08 07:27:13,111 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:27:13,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1656884451] [2022-04-08 07:27:13,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:27:13,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:27:13,130 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:27:13,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [983512315] [2022-04-08 07:27:13,130 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:27:13,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:27:13,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:27:13,131 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-08 07:27:13,141 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-08 07:27:13,183 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:27:13,183 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:27:13,184 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 07:27:13,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:27:13,199 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:27:20,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 07:27:20,537 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-08 07:27:20,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:27:20,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 07:27:20,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 07:27:20,538 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-08 07:27:20,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 07:27:20,538 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-08 07:27:20,539 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-08 07:27:20,539 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-08 07:27:20,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:27:20,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:27:20,541 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 07:27:20,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 07:27:20,541 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 07:27:20,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:27:20,542 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:27:20,542 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-08 07:27:20,542 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-08 07:27:20,543 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-08 07:27:20,543 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-08 07:27:20,544 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:27:20,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:27:20,547 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:27:20,547 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 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-08 07:27:20,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 07:27:20,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 07:27:20,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:27:20,549 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:27:20,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:27:20,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 07:27:20,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 07:27:20,558 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (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) (<= main_~x~0 100) (<= 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-08 07:27:20,558 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:27:20,559 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 07:27:20,559 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 07:27:20,559 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-08 07:27:20,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:28:25,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 07:28:25,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 07:28:25,239 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:25,240 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-08 07:28:25,240 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-08 07:28:25,246 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-08 07:28:25,247 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-08 07:28:25,248 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-08 07:28:25,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:28:25,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 07:28:25,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 07:28:25,248 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-08 07:28:25,249 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-08 07:28:25,255 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-08 07:28:25,257 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-08 07:28:25,257 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-08 07:28:25,258 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-08 07:28:25,258 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-08 07:28:25,258 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-08 07:28:25,259 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-08 07:28:25,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:28:25,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 07:28:25,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 07:28:25,259 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 07:28:25,259 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-08 07:28:25,259 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-08 07:28:25,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:28:25,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 07:28:25,260 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 07:28:25,260 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 07:28:25,260 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-08 07:28:25,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 07:28:25,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 07:28:25,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 07:28:25,261 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-08 07:28:25,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 07:28:25,261 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-08 07:28:25,261 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:28:25,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1656884451] [2022-04-08 07:28:25,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:28:25,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [983512315] [2022-04-08 07:28:25,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [983512315] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:28:25,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:28:25,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 07:28:25,262 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:28:25,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [685113649] [2022-04-08 07:28:25,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [685113649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:28:25,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:28:25,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 07:28:25,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766488031] [2022-04-08 07:28:25,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:28:25,264 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-08 07:28:25,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:28:25,264 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-08 07:28:25,295 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-08 07:28:25,296 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 07:28:25,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:25,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 07:28:25,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-08 07:28:25,297 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-08 07:28:26,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:26,401 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-08 07:28:26,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 07:28:26,401 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-08 07:28:26,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:28:26,402 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-08 07:28:26,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-08 07:28:26,404 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-08 07:28:26,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-08 07:28:26,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-08 07:28:26,467 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-08 07:28:26,469 INFO L225 Difference]: With dead ends: 59 [2022-04-08 07:28:26,469 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 07:28:26,469 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-08 07:28:26,470 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 07:28:26,470 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.5s Time] [2022-04-08 07:28:26,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 07:28:26,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-08 07:28:26,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:28:26,532 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-08 07:28:26,532 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-08 07:28:26,533 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-08 07:28:26,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:26,535 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-08 07:28:26,535 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-08 07:28:26,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:26,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:26,536 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-08 07:28:26,536 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-08 07:28:26,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:26,539 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-08 07:28:26,539 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-08 07:28:26,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:26,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:26,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:28:26,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:28:26,540 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-08 07:28:26,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-08 07:28:26,542 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-08 07:28:26,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:28:26,542 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-08 07:28:26,542 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-08 07:28:26,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-08 07:28:26,615 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-08 07:28:26,615 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-08 07:28:26,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 07:28:26,616 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:28:26,616 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-08 07:28:26,633 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-08 07:28:26,819 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-08 07:28:26,819 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:28:26,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:28:26,820 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-08 07:28:26,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:26,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2008410211] [2022-04-08 07:28:26,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:28:26,820 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-08 07:28:26,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:28:26,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1019018293] [2022-04-08 07:28:26,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:28:26,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:28:26,850 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:28:26,851 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [897801435] [2022-04-08 07:28:26,851 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:28:26,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:28:26,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:28:26,854 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-08 07:28:26,864 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-08 07:28:26,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:28:26,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:28:26,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 07:28:26,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:28:26,940 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:28:27,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-08 07:28:27,212 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-08 07:28:27,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:27,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-08 07:28:27,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-08 07:28:27,213 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-08 07:28:27,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 07:28:27,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:27,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:27,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:27,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-08 07:28:27,213 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-08 07:28:27,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-08 07:28:27,214 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-08 07:28:27,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:27,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:27,215 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-08 07:28:27,216 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-08 07:28:27,217 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-08 07:28:27,217 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-08 07:28:27,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:27,218 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-08 07:28:27,218 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-08 07:28:27,219 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-08 07:28:27,225 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-08 07:28:27,225 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-08 07:28:27,226 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-08 07:28:27,227 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-08 07:28:27,229 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-08 07:28:27,230 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:27,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-08 07:28:27,230 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-08 07:28:27,230 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-08 07:28:27,231 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:28:39,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-08 07:28:39,755 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-08 07:28:39,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:39,756 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-08 07:28:39,757 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-08 07:28:39,766 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-08 07:28:39,767 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-08 07:28:39,768 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-08 07:28:39,769 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-08 07:28:39,769 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-08 07:28:39,770 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-08 07:28:39,771 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-08 07:28:39,771 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-08 07:28:39,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-08 07:28:39,771 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-08 07:28:39,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-08 07:28:39,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:39,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:39,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:39,772 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-08 07:28:39,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-08 07:28:39,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:39,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:39,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:39,773 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 07:28:39,773 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-08 07:28:39,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-08 07:28:39,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:39,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 07:28:39,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 07:28:39,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 07:28:39,774 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-08 07:28:39,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-08 07:28:39,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-08 07:28:39,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 07:28:39,774 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-08 07:28:39,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-08 07:28:39,775 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-08 07:28:39,775 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:28:39,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1019018293] [2022-04-08 07:28:39,775 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:28:39,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [897801435] [2022-04-08 07:28:39,775 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [897801435] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:28:39,775 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:28:39,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 07:28:39,776 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:28:39,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2008410211] [2022-04-08 07:28:39,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2008410211] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:28:39,776 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:28:39,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 07:28:39,776 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325081064] [2022-04-08 07:28:39,776 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:28:39,777 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-08 07:28:39,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:28:39,777 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-08 07:28:39,807 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-08 07:28:39,807 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 07:28:39,807 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:39,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 07:28:39,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 07:28:39,808 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-08 07:28:40,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:40,651 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-08 07:28:40,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 07:28:40,652 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-08 07:28:40,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:28:40,652 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-08 07:28:40,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-08 07:28:40,654 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-08 07:28:40,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-08 07:28:40,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-08 07:28:40,743 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-08 07:28:40,744 INFO L225 Difference]: With dead ends: 77 [2022-04-08 07:28:40,744 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 07:28:40,745 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-08 07:28:40,746 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-08 07:28:40,746 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-08 07:28:40,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 07:28:40,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-08 07:28:40,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:28:40,842 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-08 07:28:40,842 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-08 07:28:40,842 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-08 07:28:40,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:40,845 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-08 07:28:40,845 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-08 07:28:40,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:40,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:40,846 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-08 07:28:40,846 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-08 07:28:40,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:40,848 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-08 07:28:40,848 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-08 07:28:40,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:40,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:40,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:28:40,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:28:40,849 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-08 07:28:40,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-08 07:28:40,851 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-08 07:28:40,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:28:40,851 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-08 07:28:40,852 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-08 07:28:40,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-08 07:28:40,955 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-08 07:28:40,955 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-08 07:28:40,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 07:28:40,956 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:28:40,956 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-08 07:28:40,974 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 07:28:41,156 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-08 07:28:41,157 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:28:41,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:28:41,157 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-08 07:28:41,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:41,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [904769380] [2022-04-08 07:28:41,158 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:28:41,159 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-08 07:28:41,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:28:41,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1310197360] [2022-04-08 07:28:41,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:28:41,159 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:28:41,172 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:28:41,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [42792336] [2022-04-08 07:28:41,173 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:28:41,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:28:41,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:28:41,174 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-08 07:28:41,183 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-08 07:28:41,212 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:28:41,212 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:28:41,213 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 07:28:41,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:28:41,224 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:28:41,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-08 07:28:41,480 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-08 07:28:41,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-08 07:28:41,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-08 07:28:41,480 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-08 07:28:41,481 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 07:28:41,481 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-08 07:28:41,481 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-08 07:28:41,481 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-08 07:28:41,482 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:41,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:41,484 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 07:28:41,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,484 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:41,485 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-08 07:28:41,485 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-08 07:28:41,485 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-08 07:28:41,485 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-08 07:28:41,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:28:41,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 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-08 07:28:41,487 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-08 07:28:41,487 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-08 07:28:41,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,493 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-08 07:28:41,494 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-08 07:28:41,494 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-08 07:28:41,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,494 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,494 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,494 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-08 07:28:41,495 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-08 07:28:41,495 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:41,496 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-08 07:28:41,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-08 07:28:41,496 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-08 07:28:41,496 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:28:41,749 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-08 07:28:41,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-08 07:28:41,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:41,751 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-08 07:28:41,751 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-08 07:28:41,751 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,751 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,751 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-08 07:28:41,753 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-08 07:28:41,754 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,754 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-08 07:28:41,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-08 07:28:41,754 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-08 07:28:41,754 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,755 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-08 07:28:41,755 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-08 07:28:41,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,755 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 07:28:41,755 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-08 07:28:41,755 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-08 07:28:41,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 07:28:41,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 07:28:41,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 07:28:41,756 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-08 07:28:41,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-08 07:28:41,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-08 07:28:41,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 07:28:41,756 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-08 07:28:41,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-08 07:28:41,756 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-08 07:28:41,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:28:41,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1310197360] [2022-04-08 07:28:41,757 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:28:41,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [42792336] [2022-04-08 07:28:41,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [42792336] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 07:28:41,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 07:28:41,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-08 07:28:41,757 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:28:41,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [904769380] [2022-04-08 07:28:41,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [904769380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:28:41,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:28:41,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 07:28:41,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724152654] [2022-04-08 07:28:41,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:28:41,758 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-08 07:28:41,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:28:41,758 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-08 07:28:41,780 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-08 07:28:41,781 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 07:28:41,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:41,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 07:28:41,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-08 07:28:41,781 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-08 07:28:42,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:42,299 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-08 07:28:42,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 07:28:42,299 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-08 07:28:42,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:28:42,300 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-08 07:28:42,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 07:28:42,301 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-08 07:28:42,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 07:28:42,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-08 07:28:42,338 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-08 07:28:42,340 INFO L225 Difference]: With dead ends: 65 [2022-04-08 07:28:42,340 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 07:28:42,340 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-08 07:28:42,341 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 07:28:42,342 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.2s Time] [2022-04-08 07:28:42,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 07:28:42,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-08 07:28:42,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:28:42,410 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-08 07:28:42,410 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-08 07:28:42,410 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-08 07:28:42,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:42,412 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-08 07:28:42,413 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 07:28:42,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:42,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:42,413 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-08 07:28:42,413 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-08 07:28:42,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:28:42,415 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-08 07:28:42,415 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 07:28:42,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:28:42,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:28:42,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:28:42,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:28:42,416 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-08 07:28:42,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-08 07:28:42,418 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-08 07:28:42,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:28:42,418 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-08 07:28:42,418 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-08 07:28:42,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-08 07:28:42,499 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-08 07:28:42,499 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 07:28:42,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 07:28:42,500 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:28:42,500 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-08 07:28:42,516 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-08 07:28:42,703 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-08 07:28:42,703 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:28:42,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:28:42,704 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-08 07:28:42,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:28:42,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [482694472] [2022-04-08 07:28:42,704 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:28:42,704 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-08 07:28:42,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:28:42,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392282305] [2022-04-08 07:28:42,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:28:42,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:28:42,727 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:28:42,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2072826126] [2022-04-08 07:28:42,728 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:28:42,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:28:42,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:28:42,732 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-08 07:28:42,757 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-08 07:28:42,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:28:42,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:28:42,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 07:28:42,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:28:42,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:28:43,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-08 07:28:43,348 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-08 07:28:43,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:28:43,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-08 07:28:43,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-08 07:28:43,348 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-08 07:28:43,348 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 07:28:43,349 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-08 07:28:43,349 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-08 07:28:43,350 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-08 07:28:43,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:43,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:43,351 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 07:28:43,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 07:28:43,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 07:28:43,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:28:43,352 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:43,352 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-08 07:28:43,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 07:28:43,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 07:28:43,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:28:43,353 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:28:43,353 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,354 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= 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-08 07:28:43,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:43,355 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-08 07:28:43,355 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-08 07:28:43,356 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {2994#(and (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2994#(and (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= 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_~x~0 100) (= 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 (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,358 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= 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_~x~0 100) (= 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 (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,359 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= 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_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,360 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 07:28:43,362 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= 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-08 07:28:43,362 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:28:43,363 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-08 07:28:43,363 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-08 07:28:43,363 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-08 07:28:43,364 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:29:04,610 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-08 07:29:04,611 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-08 07:29:04,611 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:04,612 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-08 07:29:04,613 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-08 07:29:04,631 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-08 07:29:04,632 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-08 07:29:04,633 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-08 07:29:04,633 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-08 07:29:04,634 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-08 07:29:04,635 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-08 07:29:04,635 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-08 07:29:04,636 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-08 07:29:04,636 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-08 07:29:04,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-08 07:29:04,636 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-08 07:29:04,636 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-08 07:29:04,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:29:04,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 07:29:04,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 07:29:04,636 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-08 07:29:04,637 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-08 07:29:04,637 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:29:04,637 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 07:29:04,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 07:29:04,637 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 07:29:04,637 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-08 07:29:04,637 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-08 07:29:04,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:29:04,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 07:29:04,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 07:29:04,638 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 07:29:04,638 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-08 07:29:04,638 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-08 07:29:04,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-08 07:29:04,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 07:29:04,638 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-08 07:29:04,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-08 07:29:04,639 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-08 07:29:04,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:29:04,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392282305] [2022-04-08 07:29:04,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:29:04,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2072826126] [2022-04-08 07:29:04,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2072826126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:29:04,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:29:04,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-08 07:29:04,640 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:29:04,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [482694472] [2022-04-08 07:29:04,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [482694472] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:29:04,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:29:04,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 07:29:04,640 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1678114538] [2022-04-08 07:29:04,640 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:29:04,641 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-08 07:29:04,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:29:04,641 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-08 07:29:04,676 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-08 07:29:04,677 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 07:29:04,677 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:04,677 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 07:29:04,677 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 07:29:04,678 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-08 07:29:05,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:05,476 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-08 07:29:05,476 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 07:29:05,476 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-08 07:29:05,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:29:05,477 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-08 07:29:05,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-08 07:29:05,478 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-08 07:29:05,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-08 07:29:05,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-08 07:29:05,547 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-08 07:29:05,548 INFO L225 Difference]: With dead ends: 78 [2022-04-08 07:29:05,548 INFO L226 Difference]: Without dead ends: 65 [2022-04-08 07:29:05,548 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-08 07:29:05,549 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-08 07:29:05,549 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-08 07:29:05,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-08 07:29:05,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-08 07:29:05,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:29:05,637 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-08 07:29:05,637 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-08 07:29:05,637 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-08 07:29:05,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:05,639 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 07:29:05,640 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-08 07:29:05,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:05,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:05,640 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-08 07:29:05,640 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-08 07:29:05,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:05,642 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 07:29:05,642 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-08 07:29:05,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:05,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:05,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:29:05,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:29:05,643 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-08 07:29:05,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 07:29:05,645 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-08 07:29:05,645 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:29:05,645 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 07:29:05,645 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-08 07:29:05,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 07:29:05,754 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-08 07:29:05,754 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 07:29:05,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 07:29:05,755 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:29:05,755 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-08 07:29:05,771 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-08 07:29:05,959 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-08 07:29:05,959 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:29:05,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:29:05,960 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-08 07:29:05,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:05,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1100711776] [2022-04-08 07:29:05,960 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:29:05,960 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-08 07:29:05,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:29:05,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [420436244] [2022-04-08 07:29:05,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:29:05,961 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:29:05,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:29:05,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1738793218] [2022-04-08 07:29:05,977 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:29:05,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:29:05,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:29:05,978 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-08 07:29:06,004 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-08 07:29:06,078 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:29:06,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:29:06,080 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 07:29:06,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:29:06,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:29:06,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-08 07:29:06,344 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-08 07:29:06,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:06,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-08 07:29:06,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-08 07:29:06,344 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-08 07:29:06,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 07:29:06,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-08 07:29:06,345 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-08 07:29:06,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:06,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:06,346 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-08 07:29:06,346 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-08 07:29:06,346 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:06,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:06,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:06,346 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-08 07:29:06,347 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-08 07:29:06,347 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-08 07:29:06,347 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-08 07:29:06,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:06,348 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-08 07:29:06,348 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-08 07:29:06,349 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-08 07:29:06,350 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-08 07:29:06,350 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-08 07:29:06,351 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-08 07:29:06,352 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-08 07:29:06,353 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-08 07:29:06,356 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-08 07:29:06,357 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:06,357 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-08 07:29:06,357 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-08 07:29:06,358 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-08 07:29:06,358 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:29:25,606 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-08 07:29:25,606 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-08 07:29:25,606 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:25,607 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-08 07:29:25,608 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-08 07:29:25,633 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-08 07:29:25,633 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-08 07:29:25,634 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-08 07:29:25,634 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-08 07:29:25,635 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-08 07:29:25,635 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-08 07:29:25,635 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-08 07:29:25,636 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-08 07:29:25,636 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-08 07:29:25,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {3559#true} assume !false; {3559#true} is VALID [2022-04-08 07:29:25,636 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-08 07:29:25,636 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-08 07:29:25,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:25,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:25,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:25,636 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-08 07:29:25,637 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 07:29:25,637 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-08 07:29:25,637 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 07:29:25,637 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-08 07:29:25,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-08 07:29:25,637 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-08 07:29:25,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 07:29:25,638 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-08 07:29:25,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-08 07:29:25,638 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-08 07:29:25,638 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:29:25,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [420436244] [2022-04-08 07:29:25,638 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:29:25,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1738793218] [2022-04-08 07:29:25,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1738793218] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:29:25,638 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:29:25,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-08 07:29:25,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:29:25,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1100711776] [2022-04-08 07:29:25,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1100711776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:29:25,639 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:29:25,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 07:29:25,639 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1388060317] [2022-04-08 07:29:25,639 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:29:25,639 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-08 07:29:25,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:29:25,640 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-08 07:29:25,669 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-08 07:29:25,669 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 07:29:25,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:25,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 07:29:25,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-08 07:29:25,670 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-08 07:29:26,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:26,260 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-08 07:29:26,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 07:29:26,260 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-08 07:29:26,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:29:26,260 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-08 07:29:26,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-08 07:29:26,262 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-08 07:29:26,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-08 07:29:26,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-04-08 07:29:26,320 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-08 07:29:26,321 INFO L225 Difference]: With dead ends: 76 [2022-04-08 07:29:26,321 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 07:29:26,321 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-08 07:29:26,322 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-08 07:29:26,322 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-08 07:29:26,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 07:29:26,414 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2022-04-08 07:29:26,414 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:29:26,414 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-08 07:29:26,414 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-08 07:29:26,414 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-08 07:29:26,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:26,417 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-08 07:29:26,417 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-08 07:29:26,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:26,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:26,418 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-08 07:29:26,418 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-08 07:29:26,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:26,420 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-08 07:29:26,420 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-08 07:29:26,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:26,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:26,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:29:26,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:29:26,421 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-08 07:29:26,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 07:29:26,423 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-08 07:29:26,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:29:26,423 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 07:29:26,423 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-08 07:29:26,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 07:29:26,554 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-08 07:29:26,555 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 07:29:26,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 07:29:26,555 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:29:26,555 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-08 07:29:26,561 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 07:29:26,762 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-08 07:29:26,762 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:29:26,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:29:26,762 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-08 07:29:26,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:26,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1393809993] [2022-04-08 07:29:26,763 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:29:26,763 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-08 07:29:26,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:29:26,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198723800] [2022-04-08 07:29:26,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:29:26,764 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:29:26,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:29:26,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1335335370] [2022-04-08 07:29:26,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:29:26,798 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:29:26,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:29:26,808 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-08 07:29:26,809 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-08 07:29:26,848 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:29:26,848 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:29:26,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 07:29:26,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:29:26,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:29:27,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-08 07:29:27,457 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-08 07:29:27,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:27,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-08 07:29:27,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-08 07:29:27,457 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-08 07:29:27,457 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 07:29:27,458 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-08 07:29:27,458 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-08 07:29:27,458 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-08 07:29:27,459 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:29:27,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:29:27,459 INFO L272 TraceCheckUtils]: 12: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 07:29:27,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:27,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:27,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:27,460 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 07:29:27,460 INFO L272 TraceCheckUtils]: 17: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-08 07:29:27,460 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-08 07:29:27,460 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-08 07:29:27,461 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-08 07:29:27,461 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 07:29:27,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 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-08 07:29:27,462 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-08 07:29:27,462 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-08 07:29:27,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:27,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:27,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:27,463 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-08 07:29:27,463 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-08 07:29:27,464 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-08 07:29:27,465 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-08 07:29:27,465 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-08 07:29:27,465 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:27,465 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:27,465 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:27,465 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-08 07:29:27,466 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-08 07:29:27,466 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-08 07:29:27,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-08 07:29:27,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-08 07:29:27,466 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-08 07:29:27,466 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-08 07:29:27,466 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:29:28,399 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-08 07:29:28,399 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-08 07:29:28,399 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-08 07:29:28,399 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-08 07:29:28,400 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-08 07:29:28,401 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-08 07:29:28,401 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:28,401 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:28,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:28,401 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-08 07:29:28,401 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-08 07:29:28,403 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-08 07:29:28,404 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-08 07:29:28,404 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-08 07:29:28,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:28,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:28,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:28,405 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-08 07:29:28,406 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-08 07:29:28,407 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-08 07:29:28,408 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-08 07:29:28,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:28,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:28,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:28,408 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-08 07:29:28,408 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-08 07:29:28,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:28,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 07:29:28,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 07:29:28,409 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 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 07:29:28,409 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-08 07:29:28,410 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-08 07:29:28,410 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-08 07:29:28,411 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-08 07:29:28,411 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-08 07:29:28,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 07:29:28,411 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-08 07:29:28,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-08 07:29:28,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-08 07:29:28,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 07:29:28,412 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-08 07:29:28,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-08 07:29:28,412 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-08 07:29:28,412 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:29:28,413 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198723800] [2022-04-08 07:29:28,413 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:29:28,413 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1335335370] [2022-04-08 07:29:28,413 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1335335370] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:29:28,413 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:29:28,413 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 07:29:28,416 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:29:28,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1393809993] [2022-04-08 07:29:28,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1393809993] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:29:28,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:29:28,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 07:29:28,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1665141361] [2022-04-08 07:29:28,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:29:28,418 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-08 07:29:28,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:29:28,418 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-08 07:29:28,450 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-08 07:29:28,450 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 07:29:28,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:28,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 07:29:28,451 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 07:29:28,451 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-08 07:29:28,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:28,896 INFO L93 Difference]: Finished difference Result 82 states and 103 transitions. [2022-04-08 07:29:28,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 07:29:28,896 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-08 07:29:28,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:29:28,896 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-08 07:29:28,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 07:29:28,898 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-08 07:29:28,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 07:29:28,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-08 07:29:28,943 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-08 07:29:28,944 INFO L225 Difference]: With dead ends: 82 [2022-04-08 07:29:28,944 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 07:29:28,945 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-08 07:29:28,945 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-08 07:29:28,945 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-08 07:29:28,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 07:29:29,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-08 07:29:29,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:29:29,058 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-08 07:29:29,058 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-08 07:29:29,058 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-08 07:29:29,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:29,061 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-08 07:29:29,061 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-08 07:29:29,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:29,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:29,061 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-08 07:29:29,062 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-08 07:29:29,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:29:29,064 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-08 07:29:29,064 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-08 07:29:29,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:29:29,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:29:29,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:29:29,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:29:29,065 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-08 07:29:29,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 93 transitions. [2022-04-08 07:29:29,067 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 93 transitions. Word has length 42 [2022-04-08 07:29:29,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:29:29,067 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 93 transitions. [2022-04-08 07:29:29,068 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-08 07:29:29,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 93 transitions. [2022-04-08 07:29:29,214 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-08 07:29:29,214 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 93 transitions. [2022-04-08 07:29:29,215 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 07:29:29,215 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:29:29,215 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-08 07:29:29,232 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-08 07:29:29,419 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-08 07:29:29,419 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:29:29,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:29:29,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-08 07:29:29,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:29:29,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1669385783] [2022-04-08 07:29:29,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:29:29,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-08 07:29:29,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:29:29,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [624969480] [2022-04-08 07:29:29,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:29:29,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:29:29,433 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:29:29,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2035449779] [2022-04-08 07:29:29,433 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:29:29,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:29:29,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:29:29,434 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-08 07:29:29,455 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-08 07:29:29,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:29:29,487 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:29:29,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 07:29:29,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:29:29,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:29:39,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-08 07:29:39,753 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-08 07:29:39,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:29:39,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-08 07:29:39,753 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-08 07:29:39,753 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-08 07:29:39,754 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-08 07:29:39,754 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-08 07:29:39,754 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:29:39,754 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-08 07:29:39,754 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-08 07:29:39,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:29:39,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:29:39,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:29:39,755 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-08 07:29:39,755 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-08 07:29:39,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 07:29:39,755 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-08 07:29:39,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:29:39,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:29:39,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:29:39,756 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-08 07:29:39,757 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 07:29:39,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {5048#(not (= main_~b~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 07:29:39,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {5048#(not (= main_~b~0 0))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 07:29:39,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {5048#(not (= main_~b~0 0))} assume !false; {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 07:29:39,758 INFO L272 TraceCheckUtils]: 33: Hoare triple {5048#(not (= main_~b~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-08 07:29:39,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:39,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:29:39,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:29:41,761 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {5048#(not (= main_~b~0 0))} #77#return; {5075#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~b~0 0)))} is UNKNOWN [2022-04-08 07:29:41,763 INFO L290 TraceCheckUtils]: 38: Hoare triple {5075#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~b~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 07:29:41,763 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:29:41,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:29:41,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-08 07:29:41,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-08 07:29:41,764 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 07:29:41,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:30:04,829 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-08 07:30:04,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-08 07:30:04,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:30:04,831 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:30:04,831 INFO L290 TraceCheckUtils]: 38: Hoare triple {5106#(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); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 07:30:04,833 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#true} #77#return; {5106#(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-08 07:30:04,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:30:04,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:30:04,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 07:30:04,834 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-08 07:30:04,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 07:30:04,834 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-08 07:30:04,835 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-08 07:30:04,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4956#true} is VALID [2022-04-08 07:30:04,835 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-08 07:30:04,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:30:04,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:30:04,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:30:04,835 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-08 07:30:04,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 07:30:04,835 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-08 07:30:04,836 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:30:04,836 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-08 07:30:04,836 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:30:04,836 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 07:30:04,837 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-08 07:30:04,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-08 07:30:04,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:30:04,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 07:30:04,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 07:30:04,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 07:30:04,837 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-08 07:30:04,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-08 07:30:04,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-08 07:30:04,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 07:30:04,838 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-08 07:30:04,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-08 07:30:04,838 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-08 07:30:04,838 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:30:04,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [624969480] [2022-04-08 07:30:04,838 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:30:04,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2035449779] [2022-04-08 07:30:04,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2035449779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:30:04,839 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:30:04,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-08 07:30:04,839 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:30:04,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1669385783] [2022-04-08 07:30:04,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1669385783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:30:04,839 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:30:04,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 07:30:04,840 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [690741868] [2022-04-08 07:30:04,840 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:30:04,840 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-08 07:30:04,840 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:30:04,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 07:30:06,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:30:06,876 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 07:30:06,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:30:06,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 07:30:06,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 07:30:06,877 INFO L87 Difference]: Start difference. First operand 73 states and 93 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 07:30:10,204 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-08 07:30:13,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:30:13,405 INFO L93 Difference]: Finished difference Result 86 states and 110 transitions. [2022-04-08 07:30:13,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 07:30:13,405 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-08 07:30:13,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:30:13,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 07:30:13,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 07:30:13,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 07:30:13,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 07:30:13,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-08 07:30:15,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:30:15,452 INFO L225 Difference]: With dead ends: 86 [2022-04-08 07:30:15,452 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 07:30:15,452 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 07:30:15,453 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-08 07:30:15,453 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 153 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 152 Invalid, 1 Unknown, 0 Unchecked, 3.8s Time] [2022-04-08 07:30:15,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 07:30:15,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 68. [2022-04-08 07:30:15,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:30:15,553 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 07:30:15,553 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 07:30:15,553 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 07:30:15,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:30:15,556 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-08 07:30:15,556 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-08 07:30:15,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:30:15,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:30:15,557 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 07:30:15,557 INFO L87 Difference]: Start difference. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 07:30:15,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:30:15,559 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-08 07:30:15,560 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-08 07:30:15,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:30:15,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:30:15,560 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:30:15,560 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:30:15,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 07:30:15,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-08 07:30:15,562 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 43 [2022-04-08 07:30:15,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:30:15,562 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-08 07:30:15,562 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 07:30:15,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-08 07:30:17,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:30:17,742 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-08 07:30:17,742 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 07:30:17,742 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:30:17,742 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-08 07:30:17,759 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 07:30:17,943 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-08 07:30:17,943 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:30:17,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:30:17,943 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 3 times [2022-04-08 07:30:17,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:30:17,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1858575184] [2022-04-08 07:30:17,944 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:30:17,944 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 4 times [2022-04-08 07:30:17,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:30:17,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1459557152] [2022-04-08 07:30:17,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:30:17,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:30:17,957 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:30:17,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1962430342] [2022-04-08 07:30:17,957 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 07:30:17,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:30:17,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:30:17,959 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-08 07:30:17,960 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-08 07:30:17,999 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 07:30:18,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:30:18,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 07:30:18,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:30:18,017 INFO L286 TraceCheckSpWp]: Computing forward predicates...