Welcome to Rubi, the Rulebased Integrator
By systematically applying its extensive, coherent collection of symbolic integration rules, Rubi is able to find the optimal antiderivative of large classes of mathematical expressions. Also Rubi can show the rules and intermediate steps it uses to integrate an expression, making the system a great tool for both learning and doing mathematics.
The over 6700 rules Rubi uses are organized as a decision tree based on the form of the integrand. Click on Rules to view the mathematical formula and application conditions for each rule expressed in standard 2D mathematical notation.
If the Mathematica computer algebra system is available on your computer, click on Install Rubi for instructions how to download and install the system. Then click on Using Rubi to learn how to integrate expressions and optionally show the steps required to do so.
An extensive testsuite of over 72,000 integration problems is used to test each new release of Rubi. Since it can also be used to test other symbolic integrators, the testsuite has been translated into the syntax of several popular computer algebra systems. Click on Test Problem to download the available translations of the testsuite. Click on Test Results to view the very illuminating results of running the testsuite on Rubi and on Mathematica’s builtin integrator.
Click on Vision to read a short, plainlanguage essay describing the numerous advantages of organizing mathematical knowledge as a rulebased decision tree like Rubi does. Finally, click on About to read about Rubi’s development and developers.
Comparison with other symbolic integrators
Rubi dramatically outperforms other symbolic integrators, including Maple and Mathematica, on a grueling testsuite of integration problems. Each problem consists of an integrand and its optimal antiderivative. For each problem the result produced by a system is given a grade as follows:
 A  if the result is no more than twice the size of the optimal antiderivative and involves functions no higherlevel than those in the optimal antiderivative.
 B  if the result is more than twice the size of the optimal antiderivative.
 C  if the result unnecessarily involves higherlevel functions or complex numbers. For example, the result involves special functions, but the optimal antiderivative only involves elementary ones.
 F  if the result involves an integral, no result is produced within 120 seconds, or the system hangs or crashes.
The following bar chart summarizes the grades recent versions of Rubi, Mathematica and Maple made on the integration testsuite:
Click on the Test Results menu option to see the detailed test results on which this bar chart is based.
Also, Nasser M. Abbasi has done extensive testing of the integration capabilities on these and several other computer algebra systems. Detailed test results are available at his Computer algebra independent integration tests website.
Articles referencing rulebased integration
Below are some of the articles and online posts written about Rubi in reverse chronological order:

Albert Rich, Patrick Scheibe, and Nasser Abbasi (2018). Rulebased integration: An extensive system of symbolic integration rules. Journal of Open Source Software. 3.32, p1073 13, DOI: 10.21105/joss.

Alexes Mes and Jed Stephens (2018). An Application of Rubi: Series Expansion of the Quark Mass Renormalization Group Equation. arXiv:1811.04892.

Patrick Scheibe (2018). Rubi  The Rulebased Integrator for Mathematica. Wolfram Community post 1421180.

Patrick Scheibe (2018). Rubi  A Rulebased Integrator for Mathematical Expressions. Blog post.

David Jeffrey and Albert D. Rich (2016). Developments in Rubi: Rulebased integration. Presentation.

David J. Jeffrey, Albert D. Rich, and Junrui Hu (2015). Rubi and integration as term rewriting. ACM Communications in Computer Algebra. 49. 3434. 10.1145/2768577.2768649.

Albert D. Rich and David J. Jeffrey (2010). Reducing expression size using rulebased integration. Intelligent Computer Mathematics. Ed: S.Autexier, J.Calmet, D. Delahaye, P.D.F.Ion, L.Rideau, R.Rioboo, A.P.Sexton. LNAI 6167, pp234246, Springer.

Albert D. Rich and David J. Jeffrey (2009). A knowledge repository for indefinite integration based on transformation rules. Intelligent Computer Mathematics, LNCS 5625, pp480485, Springer
If Rubi is used in your work and you want to cite it appropriately, please reference the article Rulebased integration: An extensive system of symbolic integration rules published in the Journal of Open Source Software. The following entry can be used for bibliographies created using BibTeX:
@article{Rich2018,
title = {Rulebased integration: An extensive system of symbolic integration rules},
author = {Albert Rich and Patrick Scheibe and Nasser Abbasi},
doi = {10.21105/joss.01073},
date = {201812},
publisher = {The Open Journal},
volume = {3},
number = {32},
pages = {1073},
journal = {Journal of Open Source Software}
}
Rulebased integration resources

To discuss issues related to rulebased integration, you are welcome to join Rubi’s chatroom on Gitter at https://gitter.im/RuleBasedIntegration/Lobby using your GitHub login.

To report bugs, request features or suggest new integration rules, please open an issue on GitHub at https://github.com/RuleBasedIntegration/Rubi/issues and describe as clearly as possible the bug, request or suggestion.

Rubi is a freely available system of integration rules. The complete source code is available as Mathematica notebook files on GitHub at https://github.com/RuleBasedIntegration/Rubi. The notebooks contain the integration rules in both human and machinereadable form, and everything required to build and use it as Mathematica package.

Rubi’s Wikipage at https://github.com/RuleBasedIntegration/Rubi/wiki is intended to contain detailed information about Rubi’s development process.