public MathMLTest() {
int level = 3;
int version = 1;
SBMLDocument doc = new SBMLDocument(level, 1);
Model m = doc.createModel("id");
FunctionDefinition fd = m.createFunctionDefinition("fd");
ASTNode math = new ASTNode(Type.LAMBDA, fd);
math.addChild(new ASTNode("x", fd));
ASTNode pieces = ASTNode.piecewise(new ASTNode(3, fd), ASTNode.lt("x",
ASTNode.abs(Double.NEGATIVE_INFINITY, fd)), ASTNode.times(
new ASTNode(5.3, fd), ASTNode.log(new ASTNode(8, fd))));
pieces = ASTNode.times(pieces, ASTNode.root(new ASTNode(2, fd),
new ASTNode(16, fd)));
math.addChild(pieces);
fd.setMath(math);
System.out.println(math.toMathML());
Species species = m.createSpecies("spec");
Reaction r = m.createReaction("r");
r.addReactant(new SpeciesReference(species));