Details

Time bar (total: 2.3s)

analyze4.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%74.9%25.1%0%0%0%0
0%0%74.9%25.1%0%0%0%1
50%37.5%37.5%25.1%0%0%0%2
66.7%37.5%18.7%25.1%18.7%0%0%3
83.3%46.8%9.4%25.1%18.7%0%0%4
91.7%51.5%4.7%25.1%18.7%0%0%5
95.7%51.5%2.3%25.1%21.1%0%0%6
97.8%52.7%1.2%25.1%21.1%0%0%7
98.9%53.3%0.6%25.1%21.1%0%0%8
99.5%53.3%0.3%25.1%21.4%0%0%9
99.7%53.4%0.1%25.1%21.4%0%0%10
99.9%53.5%0.1%25.1%21.4%0%0%11
99.9%53.5%0%25.1%21.4%0%0%12
Compiler

Compiled 71 to 33 computations (53.5% saved)

sample1.7s (74.5%)

Results
1.7s8256×body256valid
0.0msbody256infinite
Bogosity

preprocess7.0ms (0.3%)

Algorithm
egg-herbie
Rules
132×rational.json-simplify-2
114×rational.json-simplify-31
58×rational.json-simplify-1
36×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035201
154201
278201
3136201
4199201
5227201
6227201
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
Outputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x)))))) (*.f64 (fabs.f64 x) (*.f64 1/21 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (*.f64 (fabs.f64 x) 1/5) (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 1/21 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (*.f64 (fabs.f64 x) 1/21) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 69 to 32 computations (53.6% saved)

simplify9.0ms (0.4%)

Algorithm
egg-herbie
Rules
132×rational.json-simplify-2
114×rational.json-simplify-31
58×rational.json-simplify-1
36×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035201
154201
278201
3136201
4199201
5227201
6227201
Stop Event
saturated
Counts
1 → 6
Calls
Call 1
Inputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
Outputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x)))))) (*.f64 (fabs.f64 x) (*.f64 1/21 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (*.f64 (fabs.f64 x) 1/5) (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 1/21 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (*.f64 (fabs.f64 x) 1/21) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))

eval6.0ms (0.3%)

Compiler

Compiled 373 to 137 computations (63.3% saved)

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New426
Fresh101
Picked000
Done000
Total527
Error
0.1b
Counts
7 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 124 to 54 computations (56.5% saved)

localize90.0ms (4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (fabs.f64 x) 1/21)
0.4b
(*.f64 (fabs.f64 x) 2/3)
0.4b
(*.f64 (fabs.f64 x) 1/5)
1.0b
(sqrt.f64 (PI.f64))
Compiler

Compiled 373 to 134 computations (64.1% saved)

series2.0ms (0.1%)

Counts
4 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 (fabs.f64 x) 1/21)
0.0ms
x
@-inf
(*.f64 (fabs.f64 x) 1/5)
0.0ms
x
@0
(*.f64 (fabs.f64 x) 1/5)
0.0ms
x
@inf
(*.f64 (fabs.f64 x) 1/5)
0.0ms
x
@0
(*.f64 (fabs.f64 x) 1/21)

rewrite7.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
36×bool.json-1
32×rational.json-simplify-2
26×rational.json-1
26×rational.json-2
26×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01440
16340
29740
310440
Stop Event
saturated
Counts
4 → 10
Calls
Call 1
Inputs
(sqrt.f64 (PI.f64))
(*.f64 (fabs.f64 x) 1/5)
(*.f64 (fabs.f64 x) 2/3)
(*.f64 (fabs.f64 x) 1/21)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (PI.f64)) (sqrt.f64 (PI.f64)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) 1/5) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) 1/5))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) 1/5) (*.f64 (fabs.f64 x) 1/5))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) 2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) 2/3) (*.f64 (fabs.f64 x) 2/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) 1/21) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) 1/21))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) 1/21) (*.f64 (fabs.f64 x) 1/21))))))

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029550
129550
Stop Event
saturated
Counts
46 → 16
Calls
Call 1
Inputs
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(*.f64 1/21 (fabs.f64 x))
(+.f64 (sqrt.f64 (PI.f64)) 0)
(+.f64 0 (sqrt.f64 (PI.f64)))
(*.f64 (sqrt.f64 (PI.f64)) 1)
(*.f64 1 (sqrt.f64 (PI.f64)))
(+.f64 (*.f64 (fabs.f64 x) 1/5) 0)
(+.f64 0 (*.f64 (fabs.f64 x) 1/5))
(+.f64 (*.f64 (fabs.f64 x) 2/3) 0)
(+.f64 0 (*.f64 (fabs.f64 x) 2/3))
(+.f64 (*.f64 (fabs.f64 x) 1/21) 0)
(+.f64 0 (*.f64 (fabs.f64 x) 1/21))
Outputs
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 1/5 (fabs.f64 x))
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 2/3 (fabs.f64 x))
(*.f64 (fabs.f64 x) 2/3)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(*.f64 1/21 (fabs.f64 x))
(*.f64 (fabs.f64 x) 1/21)
(+.f64 (sqrt.f64 (PI.f64)) 0)
(+.f64 0 (sqrt.f64 (PI.f64)))
(+.f64 (sqrt.f64 (PI.f64)) 0)
(*.f64 (sqrt.f64 (PI.f64)) 1)
(*.f64 1 (sqrt.f64 (PI.f64)))
(*.f64 (sqrt.f64 (PI.f64)) 1)
(+.f64 (*.f64 (fabs.f64 x) 1/5) 0)
(+.f64 0 (*.f64 1/5 (fabs.f64 x)))
(+.f64 0 (*.f64 (fabs.f64 x) 1/5))
(+.f64 0 (*.f64 1/5 (fabs.f64 x)))
(+.f64 (*.f64 (fabs.f64 x) 2/3) 0)
(+.f64 0 (*.f64 (fabs.f64 x) 2/3))
(+.f64 0 (*.f64 (fabs.f64 x) 2/3))
(+.f64 (*.f64 (fabs.f64 x) 1/21) 0)
(+.f64 0 (*.f64 (fabs.f64 x) 1/21))
(+.f64 0 (*.f64 (fabs.f64 x) 1/21))

localize58.0ms (2.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))
0.1b
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))
0.1b
(*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
1.0b
(sqrt.f64 (PI.f64))
Compiler

Compiled 366 to 78 computations (78.7% saved)

series7.0ms (0.3%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@0
(*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))
1.0ms
x
@-inf
(*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
1.0ms
x
@-inf
(*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))
1.0ms
x
@inf
(*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))
1.0ms
x
@0
(*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))

rewrite8.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
80×rational.json-simplify-2
48×bool.json-1
44×rational.json-simplify-31
40×rational.json-1
40×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013107
165107
2119107
3158107
4177107
5178107
Stop Event
saturated
Counts
3 → 6
Calls
Call 1
Inputs
(*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))
(*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))))))))

simplify17.0ms (0.7%)

Algorithm
egg-herbie
Rules
58×rational.json-simplify-2
38×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028790
144790
260790
372790
480790
581790
Stop Event
saturated
Counts
42 → 11
Calls
Call 1
Inputs
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))))
Outputs
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(pow.f64 (fabs.f64 x) 3)
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 2/3 (*.f64 (fabs.f64 x) (fabs.f64 x)))) 0)
(+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
(+.f64 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))))
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5))))))
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5)))))
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))))
(+.f64 0 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/5))))))

eval20.0ms (0.9%)

Compiler

Compiled 2286 to 790 computations (65.4% saved)

prune5.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New36137
Fresh000
Picked101
Done011
Total37239
Error
0.1b
Counts
39 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 114 to 56 computations (50.9% saved)

localize60.0ms (2.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
0.1b
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))
0.1b
(*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))
1.0b
(sqrt.f64 (PI.f64))
Compiler

Compiled 321 to 91 computations (71.7% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
0.0ms
x
@-inf
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
0.0ms
x
@inf
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
26×bool.json-1
20×rational.json-simplify-2
18×rational.json-1
18×rational.json-2
18×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
14117
26717
37217
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)))))))

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01246
11346
Stop Event
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)) 0)
(+.f64 0 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)))
Outputs
(+.f64 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)) 0)
(+.f64 0 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)))
(+.f64 (*.f64 1/5 (pow.f64 (fabs.f64 x) 5)) 0)

eval7.0ms (0.3%)

Compiler

Compiled 778 to 309 computations (60.3% saved)

prune4.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New14115
Fresh000
Picked101
Done011
Total15217
Error
0.1b
Counts
17 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 110 to 58 computations (47.3% saved)

localize62.0ms (2.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
0.1b
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))
0.1b
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
1.0b
(sqrt.f64 (PI.f64))
Compiler

Compiled 302 to 106 computations (64.9% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
0.0ms
x
@-inf
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
0.0ms
x
@inf
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
26×bool.json-1
20×rational.json-simplify-2
18×rational.json-1
18×rational.json-2
18×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
14117
26717
37217
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))))))

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01246
11346
Stop Event
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)) 0)
(+.f64 0 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))
Outputs
(+.f64 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)) 0)
(+.f64 0 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)))
(+.f64 (*.f64 2/3 (pow.f64 (fabs.f64 x) 3)) 0)

eval6.0ms (0.2%)

Compiler

Compiled 534 to 253 computations (52.6% saved)

prune5.0ms (0.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New10111
Fresh000
Picked011
Done011
Total10313
Error
0.1b
Counts
13 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 154 to 87 computations (43.5% saved)

localize79.0ms (3.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3))
0.1b
(*.f64 1/5 (pow.f64 (fabs.f64 x) 5))
0.1b
(*.f64 2/3 (pow.f64 (fabs.f64 x) 3))
1.0b
(sqrt.f64 (PI.f64))
Compiler

Compiled 257 to 142 computations (44.7% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3))
0.0ms
x
@inf
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3))
0.0ms
x
@-inf
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3))

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
24×bool.json-1
20×rational.json-simplify-2
18×rational.json-1
18×rational.json-2
18×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
13721
26321
36721
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))))))

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013186
114186
Stop Event
saturated
Counts
14 → 3
Calls
Call 1
Inputs
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(+.f64 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))
Outputs
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(pow.f64 (fabs.f64 x) 4)
(+.f64 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)) 0)
(+.f64 0 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))
(+.f64 (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)) 0)

eval7.0ms (0.3%)

Compiler

Compiled 491 to 298 computations (39.3% saved)

prune3.0ms (0.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New10111
Fresh000
Picked101
Done112
Total12214
Error
0.1b
Counts
14 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 4))))))))
0.1b
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
Compiler

Compiled 103 to 57 computations (44.7% saved)

regimes32.0ms (1.4%)

Accuracy

Total -0.0b remaining (-29.2%)

Threshold costs -0.0b (-29.2%)

Counts
7 → 1
Calls
Call 1
Inputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 4))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 3)))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 2/3)))) (+.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) 1/5)))) (*.f64 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) 1/21))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 1/5 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x))))))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
Outputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 4))))))))
Calls

5 calls:

6.0ms
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
6.0ms
(+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))
5.0ms
(*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
4.0ms
(fabs.f64 x)
4.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))))
0.1b1(*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
0.1b1(+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 (/.f64 2 3) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 5) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 1 21) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))
0.1b1(fabs.f64 x)
Compiler

Compiled 573 to 248 computations (56.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032129
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 4))))))))
Outputs
(fabs.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 2 (fabs.f64 x)) (*.f64 2/3 (pow.f64 (fabs.f64 x) 3))) (*.f64 1/5 (pow.f64 (fabs.f64 x) 5))) (*.f64 1/21 (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (pow.f64 (fabs.f64 x) 4))))))))
Compiler

Compiled 41 to 28 computations (31.7% saved)

soundness10.0ms (0.4%)

Algorithm
egg-herbie
Rules
132×rational.json-simplify-2
114×rational.json-simplify-31
58×rational.json-simplify-1
36×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035201
154201
278201
3136201
4199201
5227201
6227201
Stop Event
saturated
Compiler

Compiled 68 to 31 computations (54.4% saved)

end26.0ms (1.1%)

Compiler

Compiled 41 to 28 computations (31.7% saved)

Profiling

Loading profile data...