Numeric.SpecFunctions:$slogFactorial from math-functions-0.1.5.2, A

Time bar (total: 2.1s)

analyze1.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
75%75%25%0%0%0%0%3
87.5%87.5%12.5%0%0%0%0%4
93.8%93.7%6.2%0%0%0%0%5
96.9%96.8%3.1%0%0%0%0%6
98.4%98.4%1.6%0%0%0%0%7
99.2%99.2%0.8%0%0%0%0%8
99.6%99.6%0.4%0%0%0%0%9
99.8%99.8%0.2%0%0%0%0%10
99.9%99.9%0.1%0%0%0%0%11
100%99.9%0%0%0%0%0%12
Compiler

Compiled 7 to 5 computations (28.6% saved)

sample786.0ms (36.9%)

Results
610.0ms6152×body256valid
165.0ms2104×body256infinite
Bogosity

preprocess100.0ms (4.7%)

Algorithm
egg-herbie
Rules
120×times-frac
100×associate-/r*
92×fma-def
66×div-sub
50×associate-*r*
Problems
254×No Errors
(/.f64 1 (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01376
13076
26476
312176
424076
549676
652576
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 1 (*.f64 x x))
(/.f64 1 (*.f64 x x))
(/.f64 1 (*.f64 (neg.f64 x) (neg.f64 x)))
(neg.f64 (/.f64 1 (*.f64 (neg.f64 x) (neg.f64 x))))
Outputs
(/.f64 1 (*.f64 x x))
(/.f64 1 (*.f64 x x))
(/.f64 1 (*.f64 (neg.f64 x) (neg.f64 x)))
(/.f64 1 (*.f64 x x))
(neg.f64 (/.f64 1 (*.f64 (neg.f64 x) (neg.f64 x))))
(/.f64 -1 (*.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 18 to 10 computations (44.4% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(/.f64 1 (*.f64 x x))
99.4%
(/.f64 1 (*.f64 x x))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize21.0ms (1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.4%
(/.f64 1 (*.f64 x x))
Compiler

Compiled 12 to 6 computations (50% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 1 (*.f64 x x))
0.0ms
x
@inf
(/.f64 1 (*.f64 x x))
0.0ms
x
@-inf
(/.f64 1 (*.f64 x x))

rewrite97.0ms (4.5%)

Algorithm
batch-egg-rewrite
Rules
1138×frac-times
414×unpow-prod-down
380×times-frac
270×log-prod
264×cbrt-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0816
17510
284610
Stop Event
node limit
Counts
1 → 78
Calls
Call 1
Inputs
(/.f64 1 (*.f64 x x))
Outputs
(+.f64 0 (pow.f64 x 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(-.f64 0 (pow.f64 x 2))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(-.f64 (/.f64 (+.f64 1 x) x) x)
(-.f64 (/.f64 (+.f64 1 (pow.f64 x 2)) 1) 1)
(*.f64 1 (pow.f64 x 2))
(*.f64 x x)
(*.f64 x (neg.f64 x))
(*.f64 x (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (pow.f64 x 2) 1)
(*.f64 (pow.f64 x 2) (log.f64 (E.f64)))
(*.f64 -1 (pow.f64 x 2))
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 5))
(*.f64 (cbrt.f64 x) (/.f64 (pow.f64 (cbrt.f64 x) 4) (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (neg.f64 (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(*.f64 (sqrt.f64 x) (pow.f64 (pow.f64 x 3/2) -1))
(*.f64 (pow.f64 x 3/2) (sqrt.f64 x))
(*.f64 (neg.f64 x) x)
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x))
(*.f64 (pow.f64 (pow.f64 x 3/2) -1) (sqrt.f64 x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) -1) (pow.f64 (cbrt.f64 x) -1))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(*.f64 (pow.f64 (pow.f64 x 5) 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) 2)) (cbrt.f64 x))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) x) (/.f64 (cbrt.f64 x) 1))
(*.f64 (/.f64 (cbrt.f64 x) 1) (/.f64 (pow.f64 (cbrt.f64 x) 2) x))
(*.f64 (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 x) (sqrt.f64 x)))
(*.f64 (/.f64 (cbrt.f64 x) (sqrt.f64 x)) (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) x))
(*.f64 (/.f64 (sqrt.f64 x) x) (/.f64 (sqrt.f64 x) 1))
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 x)) (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 x)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) 1) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 x)) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (cbrt.f64 x)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(pow.f64 x 2)
(pow.f64 x -2)
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 (pow.f64 x 2) -1)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 (cbrt.f64 x) -6)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) -3)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 (pow.f64 x 3) -2/3)
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 (pow.f64 x 4) -1/2)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 (pow.f64 x 6) -1/3)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (sqrt.f64 x) -4)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 -1) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 2) (log.f64 x))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 x)) 2))) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(neg.f64 (pow.f64 x 2))
(sqrt.f64 (pow.f64 x 4))
(fabs.f64 (pow.f64 x 2))
(log.f64 (exp.f64 (pow.f64 x 2)))
(cbrt.f64 (pow.f64 x 6))
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(exp.f64 (*.f64 2 (log.f64 x)))
(exp.f64 (*.f64 (log.f64 x) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 x 6)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 x 2)))

simplify57.0ms (2.7%)

Algorithm
egg-herbie
Rules
832×log-prod
766×associate-*r*
732×associate-*l*
516×fma-neg
442×exp-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01844294969159
14101710
29811446
342781384
Stop Event
node limit
Counts
90 → 101
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (pow.f64 x 2))
(+.f64 0 (pow.f64 x 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(-.f64 0 (pow.f64 x 2))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(-.f64 (/.f64 (+.f64 1 x) x) x)
(-.f64 (/.f64 (+.f64 1 (pow.f64 x 2)) 1) 1)
(*.f64 1 (pow.f64 x 2))
(*.f64 x x)
(*.f64 x (neg.f64 x))
(*.f64 x (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (pow.f64 x 2) 1)
(*.f64 (pow.f64 x 2) (log.f64 (E.f64)))
(*.f64 -1 (pow.f64 x 2))
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 5))
(*.f64 (cbrt.f64 x) (/.f64 (pow.f64 (cbrt.f64 x) 4) (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 4) (neg.f64 (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(*.f64 (sqrt.f64 x) (pow.f64 (pow.f64 x 3/2) -1))
(*.f64 (pow.f64 x 3/2) (sqrt.f64 x))
(*.f64 (neg.f64 x) x)
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x))
(*.f64 (pow.f64 (pow.f64 x 3/2) -1) (sqrt.f64 x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) -1) (pow.f64 (cbrt.f64 x) -1))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(*.f64 (pow.f64 (pow.f64 x 5) 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) 2)) (cbrt.f64 x))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) x) (/.f64 (cbrt.f64 x) 1))
(*.f64 (/.f64 (cbrt.f64 x) 1) (/.f64 (pow.f64 (cbrt.f64 x) 2) x))
(*.f64 (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 x) (sqrt.f64 x)))
(*.f64 (/.f64 (cbrt.f64 x) (sqrt.f64 x)) (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) x))
(*.f64 (/.f64 (sqrt.f64 x) x) (/.f64 (sqrt.f64 x) 1))
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 x)) (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 x)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) 1) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 x)) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (cbrt.f64 x)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(pow.f64 x 2)
(pow.f64 x -2)
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 (pow.f64 x 2) -1)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 (cbrt.f64 x) -6)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) -3)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 (pow.f64 x 3) -2/3)
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 (pow.f64 x 4) -1/2)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 (pow.f64 x 6) -1/3)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (sqrt.f64 x) -4)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 -1) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 2) (log.f64 x))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 x)) 2))) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(neg.f64 (pow.f64 x 2))
(sqrt.f64 (pow.f64 x 4))
(fabs.f64 (pow.f64 x 2))
(log.f64 (exp.f64 (pow.f64 x 2)))
(cbrt.f64 (pow.f64 x 6))
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(exp.f64 (*.f64 2 (log.f64 x)))
(exp.f64 (*.f64 (log.f64 x) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 x 6)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 x 2)))
Outputs
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(+.f64 0 (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(pow.f64 x 2)
(-.f64 0 (pow.f64 x 2))
(neg.f64 (pow.f64 x 2))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(pow.f64 x 2)
(-.f64 (/.f64 (+.f64 1 x) x) x)
(-.f64 (/.f64 (+.f64 1 (pow.f64 x 2)) 1) 1)
(pow.f64 x 2)
(*.f64 1 (pow.f64 x 2))
(pow.f64 x 2)
(*.f64 x x)
(pow.f64 x 2)
(*.f64 x (neg.f64 x))
(neg.f64 (pow.f64 x 2))
(*.f64 x (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(*.f64 (pow.f64 x 2) (log.f64 (E.f64)))
(pow.f64 x 2)
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (pow.f64 x 2))
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 5))
(pow.f64 x 2)
(*.f64 (cbrt.f64 x) (/.f64 (pow.f64 (cbrt.f64 x) 4) (cbrt.f64 x)))
(/.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 4)
(*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 4))
(pow.f64 x 2)
(*.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2))
(pow.f64 x 2)
(*.f64 (pow.f64 (cbrt.f64 x) 4) (neg.f64 (pow.f64 (cbrt.f64 x) 2)))
(neg.f64 (pow.f64 x 2))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 x 2)
(*.f64 (sqrt.f64 x) (pow.f64 (pow.f64 x 3/2) -1))
(*.f64 (sqrt.f64 x) (/.f64 1 (pow.f64 x 3/2)))
(/.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(/.f64 1 x)
(*.f64 (pow.f64 x 3/2) (sqrt.f64 x))
(pow.f64 x 2)
(*.f64 (neg.f64 x) x)
(neg.f64 (pow.f64 x 2))
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2))
(neg.f64 (pow.f64 x 2))
(*.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x))
(pow.f64 x 2)
(*.f64 (pow.f64 (pow.f64 x 3/2) -1) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (/.f64 1 (pow.f64 x 3/2)))
(/.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(/.f64 1 x)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) -1) (pow.f64 (cbrt.f64 x) -1))
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(pow.f64 x 2)
(*.f64 (pow.f64 (pow.f64 x 5) 1/3) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 x 5)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 8)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) 2)) (cbrt.f64 x))
(pow.f64 x 2)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) x) (/.f64 (cbrt.f64 x) 1))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (cbrt.f64 x) 1) (/.f64 (pow.f64 (cbrt.f64 x) 2) x))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) x)
(*.f64 x (/.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 x) 2))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 x) (sqrt.f64 x)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (cbrt.f64 x) (sqrt.f64 x)) (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 x)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) x))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (sqrt.f64 x) x) (/.f64 (sqrt.f64 x) 1))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 x)) (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 x)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) x)
(/.f64 x x)
1
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) 1) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 x)) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 8))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(/.f64 (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)))
(/.f64 (pow.f64 (cbrt.f64 x) 4) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4))) (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(/.f64 (/.f64 (pow.f64 (cbrt.f64 x) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)))
(/.f64 (pow.f64 (cbrt.f64 x) 4) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(pow.f64 x 2)
(pow.f64 x -2)
(/.f64 1 (pow.f64 x 2))
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 2) -1)
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 x 2)
(pow.f64 (cbrt.f64 x) -6)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 x 2)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) -3)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 3) -2/3)
(*.f64 (*.f64 (pow.f64 (pow.f64 x 3) -1/6) (pow.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 (pow.f64 x 3) -1/6) (pow.f64 (pow.f64 x 3) -1/6)))
(*.f64 (pow.f64 (pow.f64 x 3) -1/6) (pow.f64 (pow.f64 (pow.f64 x 3) -1/6) 3))
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 4) -1/2)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 6) -1/3)
(*.f64 (pow.f64 (pow.f64 x 6) -1/6) (pow.f64 (pow.f64 x 6) -1/6))
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 x 2)
(pow.f64 (sqrt.f64 x) -4)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 x 2)
(pow.f64 (exp.f64 -1) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 -1) (log.f64 (pow.f64 x 2)))
(pow.f64 (exp.f64 2) (log.f64 x))
(pow.f64 x 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 x)) 2))) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (pow.f64 x 2)) 2))) (cbrt.f64 (log.f64 (pow.f64 x 2))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 x 2)
(neg.f64 (pow.f64 x 2))
(sqrt.f64 (pow.f64 x 4))
(pow.f64 x 2)
(fabs.f64 (pow.f64 x 2))
(pow.f64 x 2)
(log.f64 (exp.f64 (pow.f64 x 2)))
(pow.f64 x 2)
(cbrt.f64 (pow.f64 x 6))
(pow.f64 x 2)
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(pow.f64 x 2)
(exp.f64 (*.f64 2 (log.f64 x)))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 x) -2))
(/.f64 1 (pow.f64 x 2))
(pow.f64 x -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) 3))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 x 6)) 1/3))
(pow.f64 x 2)
(log1p.f64 (expm1.f64 (pow.f64 x 2)))
(pow.f64 x 2)

eval23.0ms (1.1%)

Compiler

Compiled 837 to 540 computations (35.5% saved)

prune33.0ms (1.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New983101
Fresh000
Picked011
Done000
Total984102
Accuracy
100.0%
Counts
102 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
Compiler

Compiled 32 to 24 computations (25% saved)

localize26.0ms (1.2%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked022
Done011
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
Compiler

Compiled 32 to 24 computations (25% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
Compiler

Compiled 32 to 24 computations (25% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x -2)
99.4%
(/.f64 1 (*.f64 x x))
7.2%
(/.f64 1 x)
4.5%
1
Compiler

Compiled 29 to 21 computations (27.6% saved)

regimes47.0ms (2.2%)

Counts
4 → 1
Calls
Call 1
Inputs
1
(/.f64 1 x)
(/.f64 1 (*.f64 x x))
(pow.f64 x -2)
Outputs
(pow.f64 x -2)
Calls

3 calls:

39.0ms
(*.f64 x x)
4.0ms
x
3.0ms
(/.f64 1 (*.f64 x x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 1 (*.f64 x x))
100.0%1(*.f64 x x)
Compiler

Compiled 25 to 16 computations (36% saved)

regimes11.0ms (0.5%)

Counts
3 → 1
Calls
Call 1
Inputs
1
(/.f64 1 x)
(/.f64 1 (*.f64 x x))
Outputs
(/.f64 1 (*.f64 x x))
Calls

3 calls:

4.0ms
(*.f64 x x)
3.0ms
x
3.0ms
(/.f64 1 (*.f64 x x))
Results
AccuracySegmentsBranch
99.4%1x
99.4%1(/.f64 1 (*.f64 x x))
99.4%1(*.f64 x x)
Compiler

Compiled 22 to 14 computations (36.4% saved)

regimes4.0ms (0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
1
(/.f64 1 x)
Outputs
(/.f64 1 x)
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
7.2%1x
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes4.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
1
Outputs
1
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
4.5%1x
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
11440
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(pow.f64 x -2)
(/.f64 1 (*.f64 x x))
(/.f64 1 x)
1
Outputs
(pow.f64 x -2)
(/.f64 1 (*.f64 x x))
(/.f64 1 x)
1
Compiler

Compiled 16 to 12 computations (25% saved)

soundness861.0ms (40.4%)

Rules
1138×frac-times
1138×frac-times
832×log-prod
832×log-prod
832×log-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01844294969159
14101710
29811446
342781384
0816
17510
284610
01844294969159
14101710
29811446
342781384
0816
17510
284610
01844294969159
14101710
29811446
342781384
Stop Event
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 213 to 106 computations (50.2% saved)

end0.0ms (0%)

preprocess46.0ms (2.2%)

Remove

(abs x)

Compiler

Compiled 90 to 64 computations (28.9% saved)

Profiling

Loading profile data...