/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/prodbin-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:30:38,609 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:30:38,611 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:30:38,633 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:30:38,633 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:30:38,634 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:30:38,635 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:30:38,637 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:30:38,638 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:30:38,639 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:30:38,640 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:30:38,641 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:30:38,641 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:30:38,642 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:30:38,643 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:30:38,644 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:30:38,644 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:30:38,645 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:30:38,646 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:30:38,648 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:30:38,651 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:30:38,652 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:30:38,653 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:30:38,654 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:30:38,655 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:30:38,657 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:30:38,657 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:30:38,658 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:30:38,658 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:30:38,659 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:30:38,659 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:30:38,660 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:30:38,660 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:30:38,661 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:30:38,661 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:30:38,662 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:30:38,663 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:30:38,663 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:30:38,663 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:30:38,664 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:30:38,664 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:30:38,672 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:30:38,673 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:30:38,687 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:30:38,687 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:30:38,688 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:30:38,688 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:30:38,688 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:30:38,688 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:30:38,689 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:30:38,690 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:30:38,690 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:30:38,690 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:30:38,690 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:30:38,690 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:30:38,690 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:30:38,690 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:30:38,691 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:30:38,691 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:30:38,691 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:30:38,691 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:30:38,691 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 10:30:38,920 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:30:38,939 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:30:38,941 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:30:38,942 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:30:38,943 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:30:38,943 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-15 10:30:39,000 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3cabd44b5/14ac32abf4224ae0aa9b30ad898af034/FLAG874bb7ec5 [2022-04-15 10:30:39,294 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:30:39,295 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-15 10:30:39,304 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3cabd44b5/14ac32abf4224ae0aa9b30ad898af034/FLAG874bb7ec5 [2022-04-15 10:30:39,728 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3cabd44b5/14ac32abf4224ae0aa9b30ad898af034 [2022-04-15 10:30:39,730 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:30:39,733 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:30:39,735 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:30:39,735 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:30:39,738 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:30:39,740 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:30:39" (1/1) ... [2022-04-15 10:30:39,741 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2a277422 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:39, skipping insertion in model container [2022-04-15 10:30:39,741 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:30:39" (1/1) ... [2022-04-15 10:30:39,747 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:30:39,760 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:30:39,961 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/prodbin-ll_valuebound100.c[537,550] [2022-04-15 10:30:39,974 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:30:39,980 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:30:39,990 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/prodbin-ll_valuebound100.c[537,550] [2022-04-15 10:30:39,998 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:30:40,009 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:30:40,009 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40 WrapperNode [2022-04-15 10:30:40,009 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:30:40,010 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:30:40,010 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:30:40,010 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:30:40,018 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,018 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,023 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,023 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,028 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,031 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,032 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,034 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:30:40,034 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:30:40,034 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:30:40,035 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:30:40,035 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (1/1) ... [2022-04-15 10:30:40,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:30:40,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:40,060 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 10:30:40,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 10:30:40,100 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:30:40,100 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:30:40,101 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:30:40,101 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:30:40,101 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:30:40,101 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:30:40,101 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:30:40,101 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:30:40,102 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:30:40,102 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:30:40,102 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 10:30:40,103 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:30:40,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:30:40,156 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:30:40,157 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:30:40,267 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:30:40,273 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:30:40,273 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:30:40,275 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:30:40 BoogieIcfgContainer [2022-04-15 10:30:40,275 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:30:40,276 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:30:40,277 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:30:40,280 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:30:40,280 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:30:39" (1/3) ... [2022-04-15 10:30:40,281 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4910a3e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:30:40, skipping insertion in model container [2022-04-15 10:30:40,281 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:40" (2/3) ... [2022-04-15 10:30:40,281 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4910a3e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:30:40, skipping insertion in model container [2022-04-15 10:30:40,281 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:30:40" (3/3) ... [2022-04-15 10:30:40,288 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound100.c [2022-04-15 10:30:40,292 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:30:40,292 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:30:40,341 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:30:40,362 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 10:30:40,362 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:30:40,388 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:30:40,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:30:40,395 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:40,395 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:30:40,396 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:40,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:40,400 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 10:30:40,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:40,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [113375638] [2022-04-15 10:30:40,417 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:40,417 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 10:30:40,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:40,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [279944687] [2022-04-15 10:30:40,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:40,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:40,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:40,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:30:40,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:40,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(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); {35#true} is VALID [2022-04-15 10:30:40,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:30:40,586 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:30:40,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:30:40,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:40,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:30:40,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:30:40,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:40,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:30:40,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:30:40,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:40,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:30:40,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 10:30:40,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(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); {35#true} is VALID [2022-04-15 10:30:40,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:30:40,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:30:40,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 10:30:40,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-15 10:30:40,647 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 10:30:40,647 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:30:40,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 10:30:40,650 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 10:30:40,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:30:40,652 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-15 10:30:40,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:40,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:40,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:40,653 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:30:40,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-15 10:30:40,654 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 10:30:40,654 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-15 10:30:40,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 10:30:40,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 10:30:40,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 10:30:40,656 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:30:40,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:40,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [279944687] [2022-04-15 10:30:40,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [279944687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:40,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:40,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:30:40,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:40,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [113375638] [2022-04-15 10:30:40,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [113375638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:40,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:40,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:30:40,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [267957006] [2022-04-15 10:30:40,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:40,668 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 10:30:40,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:40,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:30:40,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:40,710 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:30:40,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:40,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:30:40,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:30:40,734 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:30:40,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:40,885 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 10:30:40,885 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:30:40,886 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 10:30:40,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:40,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:30:40,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:30:40,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:30:40,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:30:40,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 10:30:41,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:41,009 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:30:41,009 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 10:30:41,012 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:30:41,014 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:30:41,015 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:30:41,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 10:30:41,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 10:30:41,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:41,040 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:30:41,040 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:30:41,041 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:30:41,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:41,046 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:30:41,046 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:41,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:41,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:41,048 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 10:30:41,049 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 10:30:41,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:41,054 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:30:41,055 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:41,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:41,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:41,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:41,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:41,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:30:41,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 10:30:41,067 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 10:30:41,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:41,067 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 10:30:41,068 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:30:41,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 10:30:41,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:41,107 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:41,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:30:41,108 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:41,108 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:30:41,109 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:30:41,109 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:41,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:41,110 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 10:30:41,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:41,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1381930803] [2022-04-15 10:30:41,112 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:41,112 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 10:30:41,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:41,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [733064411] [2022-04-15 10:30:41,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:41,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:41,142 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:41,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1142851033] [2022-04-15 10:30:41,143 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:41,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:41,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:41,145 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:30:41,146 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 10:30:41,188 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:30:41,188 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:41,190 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 10:30:41,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:41,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:41,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 10:30:41,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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); {277#true} is VALID [2022-04-15 10:30:41,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:41,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 10:30:41,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 10:30:41,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-15 10:30:41,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-15 10:30:41,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:41,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:41,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:41,397 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 10:30:41,397 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-15 10:30:41,398 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-15 10:30:41,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:41,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:41,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:41,400 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 10:30:41,401 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-15 10:30:41,401 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:41,401 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:41,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:41,401 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 10:30:41,402 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:41,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:41,404 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:30:41,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:41,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 10:30:41,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 10:30:41,406 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:30:41,406 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:30:41,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:41,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [733064411] [2022-04-15 10:30:41,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:30:41,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1142851033] [2022-04-15 10:30:41,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1142851033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:41,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:41,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:30:41,409 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:41,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1381930803] [2022-04-15 10:30:41,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1381930803] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:41,410 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:41,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:30:41,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1014090628] [2022-04-15 10:30:41,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:41,412 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 10:30:41,412 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:41,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:30:41,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:41,432 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:30:41,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:41,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:30:41,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:30:41,434 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:30:41,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:41,597 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 10:30:41,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:30:41,597 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 10:30:41,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:41,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:30:41,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:30:41,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:30:41,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:30:41,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 10:30:41,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:41,647 INFO L225 Difference]: With dead ends: 39 [2022-04-15 10:30:41,647 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 10:30:41,648 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 10:30:41,649 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:30:41,649 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:30:41,650 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 10:30:41,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 10:30:41,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:41,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:41,660 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:41,660 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:41,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:41,663 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:30:41,663 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:30:41,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:41,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:41,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 10:30:41,664 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 10:30:41,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:41,666 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:30:41,666 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:30:41,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:41,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:41,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:41,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:41,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:41,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 10:30:41,669 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 10:30:41,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:41,669 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 10:30:41,670 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:30:41,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 10:30:41,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:41,718 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 10:30:41,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 10:30:41,719 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:41,719 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:30:41,755 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 10:30:41,937 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:41,937 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:41,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:41,938 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 10:30:41,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:41,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [182195804] [2022-04-15 10:30:41,939 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:41,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 10:30:41,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:41,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [595647285] [2022-04-15 10:30:41,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:41,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:41,960 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:41,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [139874688] [2022-04-15 10:30:41,960 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:41,961 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:41,961 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:41,962 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:30:41,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 10:30:42,013 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:30:42,013 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:42,014 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 10:30:42,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:42,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:42,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 10:30:42,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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); {585#true} is VALID [2022-04-15 10:30:42,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:42,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 10:30:42,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 10:30:42,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-15 10:30:42,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:42,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:42,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:42,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:42,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 10:30:42,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-15 10:30:42,176 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:42,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:42,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:42,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:42,177 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 10:30:42,177 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:42,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:30:42,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:30:42,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:30:42,179 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-15 10:30:42,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:30:42,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:30:42,180 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:42,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:42,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:42,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:42,181 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:30:42,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 10:30:42,184 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-15 10:30:42,184 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 10:30:42,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 10:30:42,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 10:30:42,185 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:30:42,185 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:30:42,185 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:42,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [595647285] [2022-04-15 10:30:42,186 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:30:42,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [139874688] [2022-04-15 10:30:42,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [139874688] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:42,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:42,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:30:42,186 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:42,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [182195804] [2022-04-15 10:30:42,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [182195804] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:42,187 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:42,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:30:42,187 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [43508893] [2022-04-15 10:30:42,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:42,188 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 10:30:42,188 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:42,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:30:42,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:42,211 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 10:30:42,211 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:42,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 10:30:42,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 10:30:42,212 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:30:42,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:42,393 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 10:30:42,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 10:30:42,393 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 10:30:42,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:42,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:30:42,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:30:42,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:30:42,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:30:42,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 10:30:42,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:42,444 INFO L225 Difference]: With dead ends: 43 [2022-04-15 10:30:42,445 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 10:30:42,445 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 10:30:42,446 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:30:42,447 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:30:42,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 10:30:42,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 10:30:42,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:42,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:42,463 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:42,463 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:42,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:42,465 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:30:42,465 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:30:42,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:42,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:42,466 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 10:30:42,466 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 10:30:42,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:42,468 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:30:42,468 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:30:42,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:42,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:42,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:42,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:42,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:30:42,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 10:30:42,471 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 10:30:42,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:42,471 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 10:30:42,471 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:30:42,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 10:30:42,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:30:42,507 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 10:30:42,508 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:30:42,508 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:42,508 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:30:42,527 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 10:30:42,719 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 10:30:42,719 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:42,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:42,720 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 10:30:42,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:42,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1222087747] [2022-04-15 10:30:42,720 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:42,720 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 10:30:42,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:42,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665608695] [2022-04-15 10:30:42,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:42,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:42,739 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:42,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2058914403] [2022-04-15 10:30:42,739 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:42,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:42,740 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:42,740 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:30:42,753 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 10:30:42,794 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:30:42,794 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:42,795 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:30:42,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:42,811 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:43,908 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:30:43,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-15 10:30:43,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:43,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:30:43,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:30:43,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 10:30:43,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:43,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:43,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:43,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:43,910 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:30:43,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 10:30:43,911 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:43,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:43,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:43,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:43,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:30:43,912 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:43,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:43,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:43,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:43,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:30:43,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:43,915 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:43,915 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:43,923 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:43,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:43,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:43,925 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:43,926 INFO L290 TraceCheckUtils]: 29: Hoare triple {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:43,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:30:43,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:30:43,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:30:45,935 WARN L272 TraceCheckUtils]: 33: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:30:45,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:45,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:30:45,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:30:45,944 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:30:45,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:31:44,191 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:31:44,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:31:44,192 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:31:44,193 INFO L272 TraceCheckUtils]: 33: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:31:44,193 INFO L290 TraceCheckUtils]: 32: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:31:44,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:31:44,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 10:31:44,215 INFO L290 TraceCheckUtils]: 29: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:31:44,390 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:31:44,390 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:44,390 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:44,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:31:44,391 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:44,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-15 10:31:44,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-15 10:31:44,391 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:44,392 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:44,392 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:44,392 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:44,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 10:31:44,404 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:31:44,404 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:44,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:44,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:44,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:44,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 10:31:44,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:31:44,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:31:44,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:44,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-15 10:31:44,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:31:44,406 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:31:44,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:31:44,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [665608695] [2022-04-15 10:31:44,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:31:44,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2058914403] [2022-04-15 10:31:44,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2058914403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:31:44,407 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:31:44,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-15 10:31:44,408 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:31:44,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1222087747] [2022-04-15 10:31:44,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1222087747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:31:44,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:31:44,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 10:31:44,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [741107628] [2022-04-15 10:31:44,408 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:31:44,409 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:31:44,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:31:44,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:46,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:31:46,444 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 10:31:46,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:31:46,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 10:31:46,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=166, Unknown=2, NotChecked=0, Total=210 [2022-04-15 10:31:46,445 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:53,198 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:31:58,894 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:31:58,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:31:58,923 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 10:31:58,923 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:31:58,923 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:31:58,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:31:58,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:58,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:31:58,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:58,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:31:58,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-15 10:32:00,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:00,979 INFO L225 Difference]: With dead ends: 49 [2022-04-15 10:32:00,979 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 10:32:00,980 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 8.7s TimeCoverageRelationStatistics Valid=55, Invalid=215, Unknown=2, NotChecked=0, Total=272 [2022-04-15 10:32:00,980 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 4 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.5s IncrementalHoareTripleChecker+Time [2022-04-15 10:32:00,981 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 153 Invalid, 1 Unknown, 0 Unchecked, 4.5s Time] [2022-04-15 10:32:00,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 10:32:01,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-15 10:32:01,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:32:01,022 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:01,022 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:01,022 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:01,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:01,024 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:32:01,024 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:32:01,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:01,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:01,025 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:32:01,026 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:32:01,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:01,028 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:32:01,028 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:32:01,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:01,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:01,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:32:01,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:32:01,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:01,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-15 10:32:01,030 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-15 10:32:01,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:32:01,031 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-15 10:32:01,031 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:01,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-15 10:32:01,956 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:01,957 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-15 10:32:01,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:32:01,958 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:32:01,958 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:32:01,984 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 10:32:02,158 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:02,159 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:32:02,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:32:02,159 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 10:32:02,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:02,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [381489014] [2022-04-15 10:32:02,160 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:32:02,160 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 10:32:02,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:32:02,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [604802728] [2022-04-15 10:32:02,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:32:02,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:32:02,180 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:32:02,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [679294652] [2022-04-15 10:32:02,181 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:32:02,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:02,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:32:02,182 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:32:02,184 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 10:32:02,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:32:02,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:32:02,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 10:32:02,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:32:02,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:32:03,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-15 10:32:03,715 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:03,716 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:03,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:03,717 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 10:32:03,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:03,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:32:03,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:03,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:03,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1508#(<= 1 main_~b~0)} is VALID [2022-04-15 10:32:03,719 INFO L290 TraceCheckUtils]: 22: Hoare triple {1508#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:03,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:03,720 INFO L272 TraceCheckUtils]: 24: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:03,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:03,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:03,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:03,721 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:03,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:03,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:03,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:32:03,724 INFO L290 TraceCheckUtils]: 32: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:32:03,726 INFO L272 TraceCheckUtils]: 33: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:03,726 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:03,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 10:32:03,727 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 10:32:03,727 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:32:03,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:32:41,343 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 10:32:41,343 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 10:32:41,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:41,345 INFO L272 TraceCheckUtils]: 33: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:41,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:41,351 INFO L290 TraceCheckUtils]: 31: Hoare triple {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:41,352 INFO L290 TraceCheckUtils]: 30: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 10:32:41,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:32:41,353 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:32:41,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:41,354 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:41,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:41,354 INFO L272 TraceCheckUtils]: 24: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:41,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:32:41,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:32:41,358 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 10:32:41,359 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:41,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:41,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:32:41,360 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:41,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 10:32:41,361 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 10:32:41,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:32:41,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-15 10:32:41,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 10:32:41,362 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:32:41,362 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:32:41,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [604802728] [2022-04-15 10:32:41,362 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:32:41,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679294652] [2022-04-15 10:32:41,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679294652] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:32:41,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:32:41,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-15 10:32:41,363 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:32:41,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [381489014] [2022-04-15 10:32:41,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [381489014] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:32:41,363 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:32:41,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 10:32:41,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1613211255] [2022-04-15 10:32:41,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:32:41,364 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:32:41,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:32:41,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:41,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:41,395 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 10:32:41,396 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:41,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 10:32:41,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:32:41,396 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:41,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:41,921 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 10:32:41,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:32:41,921 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:32:41,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:32:41,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:41,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 10:32:41,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:41,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 10:32:41,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-15 10:32:41,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:41,977 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:32:41,977 INFO L226 Difference]: Without dead ends: 52 [2022-04-15 10:32:41,978 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-15 10:32:41,978 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:32:41,979 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 10:32:41,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-15 10:32:42,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-15 10:32:42,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:32:42,024 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:42,025 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:42,025 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:42,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:42,029 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:32:42,029 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:32:42,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:42,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:42,033 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 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 52 states. [2022-04-15 10:32:42,033 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 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 52 states. [2022-04-15 10:32:42,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:42,035 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:32:42,035 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:32:42,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:42,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:42,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:32:42,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:32:42,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:42,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:32:42,039 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-15 10:32:42,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:32:42,039 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:32:42,039 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:42,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:32:42,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:42,574 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:32:42,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:32:42,575 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:32:42,575 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:32:42,595 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-15 10:32:42,783 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:42,783 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:32:42,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:32:42,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 10:32:42,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:42,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [829555397] [2022-04-15 10:32:42,784 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:32:42,785 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 10:32:42,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:32:42,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726448717] [2022-04-15 10:32:42,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:32:42,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:32:42,805 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:32:42,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [547590744] [2022-04-15 10:32:42,805 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:32:42,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:42,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:32:42,807 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:32:42,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 10:32:42,857 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:32:42,857 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:32:42,858 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 10:32:42,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:32:42,869 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:32:53,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 10:32:53,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:32:53,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:32:53,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 10:32:53,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 10:32:53,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:32:53,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 10:32:53,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 10:32:53,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-15 10:32:53,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-15 10:32:53,078 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:32:53,078 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:32:53,086 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:53,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:53,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:55,090 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-15 10:32:55,090 INFO L290 TraceCheckUtils]: 38: Hoare triple {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:55,091 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:55,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:55,092 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 10:32:55,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 10:32:55,092 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:32:55,092 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:33:11,387 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 10:33:11,388 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 10:33:11,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:33:11,389 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:33:11,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:33:11,390 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:33:11,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:11,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:33:11,393 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:33:11,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:33:11,394 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:33:11,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:33:11,396 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 10:33:11,397 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:33:11,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:33:11,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [726448717] [2022-04-15 10:33:11,397 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:33:11,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [547590744] [2022-04-15 10:33:11,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [547590744] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:33:11,397 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:33:11,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 10:33:11,397 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:33:11,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [829555397] [2022-04-15 10:33:11,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [829555397] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:33:11,398 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:33:11,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:33:11,398 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043955335] [2022-04-15 10:33:11,398 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:33:11,398 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 10:33:11,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:33:11,399 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:33:13,427 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:33:13,428 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:33:13,428 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:33:13,428 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:33:13,428 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:33:13,428 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:33:15,479 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:33:15,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:15,826 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-15 10:33:15,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:33:15,827 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 10:33:15,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:33:15,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:33:15,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:33:15,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:33:15,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:33:15,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 10:33:17,865 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-15 10:33:17,866 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:33:17,866 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 10:33:17,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:33:17,867 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:33:17,867 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 123 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-15 10:33:17,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 10:33:17,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-15 10:33:17,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:33:17,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:33:17,909 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:33:17,909 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:33:17,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:17,911 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:33:17,911 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:33:17,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:33:17,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:33:17,911 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:33:17,911 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:33:17,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:17,913 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:33:17,913 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:33:17,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:33:17,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:33:17,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:33:17,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:33:17,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:33:17,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-15 10:33:17,915 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-15 10:33:17,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:33:17,915 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-15 10:33:17,916 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:33:17,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-15 10:33:24,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 10:33:24,315 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-15 10:33:24,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:33:24,315 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:33:24,315 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:33:24,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 10:33:24,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:33:24,516 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:33:24,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:33:24,516 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-15 10:33:24,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:33:24,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [793333153] [2022-04-15 10:33:24,516 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:33:24,516 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-15 10:33:24,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:33:24,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [8826201] [2022-04-15 10:33:24,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:33:24,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:33:24,541 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:33:24,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1079075716] [2022-04-15 10:33:24,542 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:33:24,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:33:24,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:33:24,546 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:33:24,546 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 10:33:24,591 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:33:24,591 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:33:24,592 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 10:33:24,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:33:24,619 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:33:37,930 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 10:33:37,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 10:33:37,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:33:37,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:33:37,933 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 10:33:37,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:33:37,934 INFO L290 TraceCheckUtils]: 23: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:33:37,934 INFO L272 TraceCheckUtils]: 24: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:33:37,934 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:33:37,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:37,935 INFO L290 TraceCheckUtils]: 27: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:37,936 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:33:37,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:33:37,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:33:37,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:33:37,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:33:37,939 INFO L272 TraceCheckUtils]: 33: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:33:37,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:33:37,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:37,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:37,941 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:33:37,941 INFO L290 TraceCheckUtils]: 38: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2692#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:33:37,943 INFO L290 TraceCheckUtils]: 39: Hoare triple {2692#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:33:37,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-15 10:33:37,945 INFO L290 TraceCheckUtils]: 41: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} assume !false; {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-15 10:33:39,182 INFO L272 TraceCheckUtils]: 42: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:33:39,183 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:33:39,183 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 10:33:39,183 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 10:33:39,184 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 10:33:39,184 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:34:45,361 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 10:34:45,364 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 10:34:45,365 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:45,366 INFO L272 TraceCheckUtils]: 42: Hoare triple {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:34:45,366 INFO L290 TraceCheckUtils]: 41: Hoare triple {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:34:45,376 INFO L290 TraceCheckUtils]: 40: Hoare triple {2734#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:34:45,378 INFO L290 TraceCheckUtils]: 39: Hoare triple {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2734#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 10:34:45,378 INFO L290 TraceCheckUtils]: 38: Hoare triple {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:34:45,583 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2738#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:34:45,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:45,584 INFO L290 TraceCheckUtils]: 35: Hoare triple {2754#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:45,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2754#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:34:45,584 INFO L272 TraceCheckUtils]: 33: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:34:45,584 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 31: Hoare triple {2567#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 30: Hoare triple {2567#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L272 TraceCheckUtils]: 24: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:34:45,585 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:34:45,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-15 10:34:45,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 10:34:45,587 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:34:45,587 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:34:45,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [8826201] [2022-04-15 10:34:45,587 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:34:45,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1079075716] [2022-04-15 10:34:45,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1079075716] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:34:45,587 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:34:45,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-15 10:34:45,587 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:34:45,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [793333153] [2022-04-15 10:34:45,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [793333153] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:45,588 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:45,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:34:45,588 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [541568632] [2022-04-15 10:34:45,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:34:45,588 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:34:45,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:34:45,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:34:45,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:45,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:34:45,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:45,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:34:45,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=218, Unknown=2, NotChecked=0, Total=272 [2022-04-15 10:34:45,964 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:34:53,653 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:34:56,711 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:34:59,495 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:05,659 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.22s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:07,661 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:10,218 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:19,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:19,772 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 10:35:19,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:35:19,773 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:35:19,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:35:19,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:19,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 10:35:19,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:19,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 10:35:19,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-15 10:35:21,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 56 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:21,854 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:35:21,854 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 10:35:21,855 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 72 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 20.0s TimeCoverageRelationStatistics Valid=65, Invalid=275, Unknown=2, NotChecked=0, Total=342 [2022-04-15 10:35:21,855 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 19 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 251 mSolverCounterSat, 3 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 251 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 15.9s IncrementalHoareTripleChecker+Time [2022-04-15 10:35:21,855 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 183 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 251 Invalid, 3 Unknown, 0 Unchecked, 15.9s Time] [2022-04-15 10:35:21,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 10:35:21,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 53. [2022-04-15 10:35:21,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:35:21,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:35:21,927 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:35:21,928 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:35:21,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:21,940 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 10:35:21,941 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 10:35:21,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:21,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:21,941 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 10:35:21,941 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 10:35:21,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:21,943 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 10:35:21,943 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 10:35:21,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:21,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:21,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:35:21,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:35:21,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:35:21,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-15 10:35:21,945 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-15 10:35:21,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:35:21,945 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-15 10:35:21,945 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:21,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-15 10:35:34,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 53 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:34,731 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-15 10:35:34,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:35:34,731 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:35:34,732 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, 1, 1] [2022-04-15 10:35:34,750 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 10:35:34,932 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:35:34,932 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:35:34,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:35:34,933 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 10:35:34,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:35:34,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [225417080] [2022-04-15 10:35:34,933 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:35:34,933 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 10:35:34,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:35:34,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1375446358] [2022-04-15 10:35:34,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:35:34,934 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:35:34,946 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:35:34,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1394157238] [2022-04-15 10:35:34,947 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:35:34,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:35:34,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:35:34,954 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:35:34,961 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 10:35:35,008 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:35:35,008 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:35:35,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 10:35:35,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:35:35,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:35:38,299 INFO L272 TraceCheckUtils]: 0: Hoare triple {3201#true} call ULTIMATE.init(); {3201#true} is VALID [2022-04-15 10:35:38,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {3201#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); {3201#true} is VALID [2022-04-15 10:35:38,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:35:38,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3201#true} {3201#true} #71#return; {3201#true} is VALID [2022-04-15 10:35:38,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {3201#true} call #t~ret6 := main(); {3201#true} is VALID [2022-04-15 10:35:38,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {3201#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L272 TraceCheckUtils]: 6: Hoare triple {3201#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3201#true} {3201#true} #61#return; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {3201#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L272 TraceCheckUtils]: 12: Hoare triple {3201#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3201#true} {3201#true} #63#return; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L272 TraceCheckUtils]: 17: Hoare triple {3201#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 19: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:35:38,300 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3201#true} {3201#true} #65#return; {3201#true} is VALID [2022-04-15 10:35:38,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {3201#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3272#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:35:38,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {3272#(= main_~b~0 main_~y~0)} assume !false; {3272#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:35:38,301 INFO L272 TraceCheckUtils]: 24: Hoare triple {3272#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:35:38,301 INFO L290 TraceCheckUtils]: 25: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:35:38,301 INFO L290 TraceCheckUtils]: 26: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:35:38,301 INFO L290 TraceCheckUtils]: 27: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:35:38,302 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3201#true} {3272#(= main_~b~0 main_~y~0)} #67#return; {3272#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:35:38,302 INFO L290 TraceCheckUtils]: 29: Hoare triple {3272#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3294#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 10:35:38,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {3294#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3298#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-15 10:35:38,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {3298#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3302#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:35:38,305 INFO L290 TraceCheckUtils]: 32: Hoare triple {3302#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3302#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:35:38,305 INFO L272 TraceCheckUtils]: 33: Hoare triple {3302#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:35:38,305 INFO L290 TraceCheckUtils]: 34: Hoare triple {3201#true} ~cond := #in~cond; {3312#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:38,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {3312#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:38,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:38,307 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} {3302#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3323#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:35:38,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {3323#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3323#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:35:38,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {3323#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3330#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:35:39,312 INFO L290 TraceCheckUtils]: 40: Hoare triple {3330#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3334#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:35:39,313 INFO L290 TraceCheckUtils]: 41: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3334#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:35:41,315 WARN L272 TraceCheckUtils]: 42: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3341#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:35:41,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {3341#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3345#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:41,316 INFO L290 TraceCheckUtils]: 44: Hoare triple {3345#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3202#false} is VALID [2022-04-15 10:35:41,316 INFO L290 TraceCheckUtils]: 45: Hoare triple {3202#false} assume !false; {3202#false} is VALID [2022-04-15 10:35:41,317 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:35:41,317 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:36:20,246 INFO L290 TraceCheckUtils]: 45: Hoare triple {3202#false} assume !false; {3202#false} is VALID [2022-04-15 10:36:20,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {3345#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3202#false} is VALID [2022-04-15 10:36:20,247 INFO L290 TraceCheckUtils]: 43: Hoare triple {3341#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3345#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:20,248 INFO L272 TraceCheckUtils]: 42: Hoare triple {3361#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3341#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:20,249 INFO L290 TraceCheckUtils]: 41: Hoare triple {3361#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3361#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:20,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {3368#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3361#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:20,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {3372#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3368#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 10:36:20,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {3372#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3372#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:36:20,258 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} {3379#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3372#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 10:36:20,258 INFO L290 TraceCheckUtils]: 36: Hoare triple {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:20,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {3389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3316#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:20,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {3201#true} ~cond := #in~cond; {3389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:36:20,259 INFO L272 TraceCheckUtils]: 33: Hoare triple {3379#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:36:20,259 INFO L290 TraceCheckUtils]: 32: Hoare triple {3379#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3379#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:36:20,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {3399#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3379#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 30: Hoare triple {3201#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3399#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {3201#true} assume !!(0 != ~y~0); {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3201#true} {3201#true} #67#return; {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L272 TraceCheckUtils]: 24: Hoare triple {3201#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {3201#true} assume !false; {3201#true} is VALID [2022-04-15 10:36:20,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {3201#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3201#true} {3201#true} #65#return; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L272 TraceCheckUtils]: 17: Hoare triple {3201#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3201#true} {3201#true} #63#return; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {3201#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {3201#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3201#true} {3201#true} #61#return; {3201#true} is VALID [2022-04-15 10:36:20,263 INFO L290 TraceCheckUtils]: 9: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {3201#true} assume !(0 == ~cond); {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {3201#true} ~cond := #in~cond; {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {3201#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {3201#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {3201#true} call #t~ret6 := main(); {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3201#true} {3201#true} #71#return; {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {3201#true} assume true; {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {3201#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); {3201#true} is VALID [2022-04-15 10:36:20,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {3201#true} call ULTIMATE.init(); {3201#true} is VALID [2022-04-15 10:36:20,265 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:36:20,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:36:20,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1375446358] [2022-04-15 10:36:20,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:36:20,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1394157238] [2022-04-15 10:36:20,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1394157238] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:36:20,265 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:36:20,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 10:36:20,265 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:36:20,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [225417080] [2022-04-15 10:36:20,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [225417080] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:36:20,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:36:20,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:36:20,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821879601] [2022-04-15 10:36:20,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:36:20,266 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:36:20,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:36:20,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:36:22,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:22,860 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:36:22,860 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:22,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:36:22,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-15 10:36:22,861 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:36:28,588 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:36:32,471 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:36:34,850 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:36:37,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:37,239 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2022-04-15 10:36:37,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:36:37,240 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:36:37,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:36:37,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:36:37,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:36:37,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:36:37,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:36:37,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 10:36:39,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:39,450 INFO L225 Difference]: With dead ends: 65 [2022-04-15 10:36:39,450 INFO L226 Difference]: Without dead ends: 63 [2022-04-15 10:36:39,450 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=73, Invalid=346, Unknown=1, NotChecked=0, Total=420 [2022-04-15 10:36:39,451 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 1 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.6s IncrementalHoareTripleChecker+Time [2022-04-15 10:36:39,451 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 222 Invalid, 2 Unknown, 0 Unchecked, 8.6s Time] [2022-04-15 10:36:39,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-15 10:36:39,507 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 53. [2022-04-15 10:36:39,508 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:36:39,508 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:39,508 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:39,508 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:39,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:39,510 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-15 10:36:39,510 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-15 10:36:39,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:39,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:39,511 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-15 10:36:39,511 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-15 10:36:39,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:39,513 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-15 10:36:39,513 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-15 10:36:39,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:39,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:39,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:36:39,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:36:39,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:39,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-15 10:36:39,515 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-15 10:36:39,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:36:39,515 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-15 10:36:39,516 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:36:39,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-15 10:36:52,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 54 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:52,257 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-15 10:36:52,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:36:52,257 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:36:52,258 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, 1, 1] [2022-04-15 10:36:52,274 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-15 10:36:52,461 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:36:52,462 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:36:52,462 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:36:52,462 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 10:36:52,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:52,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [878605518] [2022-04-15 10:36:52,463 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:36:52,463 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 10:36:52,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:36:52,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1759389208] [2022-04-15 10:36:52,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:36:52,463 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:36:52,476 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:36:52,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1997561088] [2022-04-15 10:36:52,476 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:36:52,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:36:52,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:36:52,477 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:36:52,490 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 10:36:52,521 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:36:52,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:36:52,522 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 10:36:52,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:36:52,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:36:59,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {3861#true} call ULTIMATE.init(); {3861#true} is VALID [2022-04-15 10:36:59,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {3861#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); {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3861#true} {3861#true} #71#return; {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {3861#true} call #t~ret6 := main(); {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {3861#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {3861#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:36:59,231 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3861#true} {3861#true} #61#return; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {3861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L272 TraceCheckUtils]: 12: Hoare triple {3861#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3861#true} {3861#true} #63#return; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L272 TraceCheckUtils]: 17: Hoare triple {3861#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 19: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:36:59,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:36:59,233 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3861#true} {3861#true} #65#return; {3861#true} is VALID [2022-04-15 10:36:59,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {3861#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:59,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:59,240 INFO L272 TraceCheckUtils]: 24: Hoare triple {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:36:59,241 INFO L290 TraceCheckUtils]: 25: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:36:59,241 INFO L290 TraceCheckUtils]: 26: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:36:59,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:36:59,241 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3861#true} {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:59,242 INFO L290 TraceCheckUtils]: 29: Hoare triple {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:59,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {3932#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3957#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:59,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {3957#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3961#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:36:59,245 INFO L290 TraceCheckUtils]: 32: Hoare triple {3961#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !false; {3961#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:36:59,245 INFO L272 TraceCheckUtils]: 33: Hoare triple {3961#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:36:59,246 INFO L290 TraceCheckUtils]: 34: Hoare triple {3861#true} ~cond := #in~cond; {3971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:59,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {3971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:59,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:59,247 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} {3961#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} #67#return; {3982#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:36:59,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {3982#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !!(0 != ~y~0); {3986#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:36:59,252 INFO L290 TraceCheckUtils]: 39: Hoare triple {3986#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3990#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:36:59,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {3990#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3994#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:36:59,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {3994#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3994#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:36:59,488 INFO L272 TraceCheckUtils]: 42: Hoare triple {3994#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:59,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {4001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:59,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {4005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3862#false} is VALID [2022-04-15 10:36:59,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {3862#false} assume !false; {3862#false} is VALID [2022-04-15 10:36:59,489 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:36:59,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:37:45,954 INFO L290 TraceCheckUtils]: 45: Hoare triple {3862#false} assume !false; {3862#false} is VALID [2022-04-15 10:37:45,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {4005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3862#false} is VALID [2022-04-15 10:37:45,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {4001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:37:45,956 INFO L272 TraceCheckUtils]: 42: Hoare triple {4021#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:37:45,956 INFO L290 TraceCheckUtils]: 41: Hoare triple {4021#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4021#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:37:45,962 INFO L290 TraceCheckUtils]: 40: Hoare triple {4028#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4021#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:37:45,965 INFO L290 TraceCheckUtils]: 39: Hoare triple {4032#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4028#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 10:37:45,965 INFO L290 TraceCheckUtils]: 38: Hoare triple {4032#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4032#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:37:47,591 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} {3861#true} #67#return; {4032#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:37:47,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:37:47,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {4048#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 34: Hoare triple {3861#true} ~cond := #in~cond; {4048#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:37:47,593 INFO L272 TraceCheckUtils]: 33: Hoare triple {3861#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 32: Hoare triple {3861#true} assume !false; {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 31: Hoare triple {3861#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {3861#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {3861#true} assume !!(0 != ~y~0); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3861#true} {3861#true} #67#return; {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 26: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L272 TraceCheckUtils]: 24: Hoare triple {3861#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:37:47,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {3861#true} assume !false; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {3861#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3861#true} {3861#true} #65#return; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L272 TraceCheckUtils]: 17: Hoare triple {3861#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3861#true} {3861#true} #63#return; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 15: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 13: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L272 TraceCheckUtils]: 12: Hoare triple {3861#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {3861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3861#true} {3861#true} #61#return; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {3861#true} assume !(0 == ~cond); {3861#true} is VALID [2022-04-15 10:37:47,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {3861#true} ~cond := #in~cond; {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {3861#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {3861#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {3861#true} call #t~ret6 := main(); {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3861#true} {3861#true} #71#return; {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {3861#true} assume true; {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {3861#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); {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {3861#true} call ULTIMATE.init(); {3861#true} is VALID [2022-04-15 10:37:47,595 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:37:47,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:37:47,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1759389208] [2022-04-15 10:37:47,595 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:37:47,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1997561088] [2022-04-15 10:37:47,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1997561088] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:37:47,596 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:37:47,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-15 10:37:47,596 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:37:47,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [878605518] [2022-04-15 10:37:47,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [878605518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:37:47,596 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:37:47,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:37:47,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [915595271] [2022-04-15 10:37:47,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:37:47,597 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:37:47,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:37:47,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:37:47,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:37:47,942 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:37:47,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:37:47,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:37:47,942 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-15 10:37:47,943 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:37:51,081 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:37:57,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:37:57,203 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-15 10:37:57,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:37:57,203 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:37:57,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:37:57,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:37:57,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:37:57,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:37:57,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:37:57,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 10:37:57,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:37:57,393 INFO L225 Difference]: With dead ends: 68 [2022-04-15 10:37:57,393 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 10:37:57,394 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-15 10:37:57,394 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 19 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-15 10:37:57,394 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 158 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 197 Invalid, 1 Unknown, 0 Unchecked, 4.9s Time] [2022-04-15 10:37:57,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 10:37:57,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 55. [2022-04-15 10:37:57,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:37:57,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:37:57,462 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:37:57,462 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:37:57,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:37:57,464 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 10:37:57,464 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 10:37:57,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:37:57,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:37:57,464 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-15 10:37:57,465 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-15 10:37:57,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:37:57,466 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 10:37:57,466 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 10:37:57,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:37:57,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:37:57,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:37:57,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:37:57,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:37:57,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2022-04-15 10:37:57,475 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 46 [2022-04-15 10:37:57,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:37:57,475 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2022-04-15 10:37:57,475 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:37:57,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 62 transitions. [2022-04-15 10:38:16,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 55 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-15 10:38:16,567 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2022-04-15 10:38:16,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:38:16,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:38:16,568 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:38:16,584 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 10:38:16,768 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 10:38:16,769 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:38:16,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:38:16,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-15 10:38:16,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:38:16,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1130373730] [2022-04-15 10:38:16,769 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:38:16,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-15 10:38:16,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:38:16,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [887716922] [2022-04-15 10:38:16,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:38:16,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:38:16,780 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:38:16,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [465811551] [2022-04-15 10:38:16,781 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:38:16,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:38:16,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:38:16,782 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:38:16,787 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 10:38:16,816 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:38:16,816 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:38:16,817 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 10:38:16,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:38:16,831 INFO L286 TraceCheckSpWp]: Computing forward predicates...