Details

Time bar (total: 4.7s)

analyze50.0ms (1.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
48%37.5%40.6%0.1%21.9%0%0%7
57.1%43.7%32.8%0.1%23.4%0%0%8
67.5%43.7%21.1%0.1%35.1%0%0%9
73.6%46.8%16.8%0.1%36.3%0%0%10
81.4%46.8%10.7%0.1%42.3%0%0%11
85.1%48.4%8.5%0.1%43%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.2s (24.9%)

Results
1.0s8256×body256valid
119.0ms1127×body256infinite
Bogosity

preprocess106.0ms (2.3%)

Algorithm
egg-herbie
Rules
996×sqr-pow
886×associate-*r/
856×unswap-sqr
740×distribute-lft-in
684×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
11734
22434
34234
49734
527034
687834
7139534
8351334
9378434
10422534
11501534
12781934
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 y (exp.f64 (*.f64 x x)))
Outputs
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 y (exp.f64 (*.f64 x x)))
(*.f64 y (pow.f64 (exp.f64 x) x))
Compiler

Compiled 10 to 7 computations (30% saved)

simplify88.0ms (1.9%)

Algorithm
egg-herbie
Rules
1240×sqr-pow
914×associate-*r*
890×associate-*l/
736×unswap-sqr
646×exp-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
11117
21517
32417
45217
514117
644717
7143017
8255117
9385017
10423517
11481017
12658117
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 x (exp.f64 (*.f64 y y)))
Outputs
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))

eval0.0ms (0%)

Compiler

Compiled 14 to 8 computations (42.9% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Accurracy
100.0%
Counts
3 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
Compiler

Compiled 16 to 10 computations (37.5% saved)

localize6.0ms (0.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
100.0%
(exp.f64 (*.f64 y y))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series3.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (exp.f64 (*.f64 y y)))
0.0ms
y
@0
(*.f64 x (exp.f64 (*.f64 y y)))
0.0ms
x
@inf
(*.f64 x (exp.f64 (*.f64 y y)))
0.0ms
x
@-inf
(*.f64 x (exp.f64 (*.f64 y y)))
0.0ms
y
@inf
(*.f64 x (exp.f64 (*.f64 y y)))

rewrite93.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1370×pow1
1248×add-exp-log
1248×log1p-expm1-u
1248×expm1-log1p-u
1216×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
115428
2178328
Stop Event
node limit
Counts
2 → 32
Calls
Call 1
Inputs
(exp.f64 (*.f64 y y))
(*.f64 x (exp.f64 (*.f64 y y)))
Outputs
(+.f64 1 (expm1.f64 (*.f64 y y)))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (pow.f64 (exp.f64 y) y) 1)
(pow.f64 (exp.f64 y) y)
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 3)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3) 1/3)
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (exp.f64 1) (*.f64 y y))
(pow.f64 (pow.f64 (exp.f64 y) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) (sqrt.f64 y)) (sqrt.f64 y))
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 2))
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(exp.f64 (+.f64 (*.f64 y y) (log.f64 x)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))

simplify87.0ms (1.9%)

Algorithm
egg-herbie
Rules
1208×fma-def
890×unswap-sqr
542×sqr-pow
504×distribute-rgt-in
500×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0981100
12331084
27971062
328341062
457741062
Stop Event
node limit
Counts
68 → 65
Calls
Call 1
Inputs
1
(+.f64 1 (pow.f64 y 2))
(+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4)))))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) x))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 6) x)) x)))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(+.f64 1 (expm1.f64 (*.f64 y y)))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (pow.f64 (exp.f64 y) y) 1)
(pow.f64 (exp.f64 y) y)
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 3)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3) 1/3)
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (exp.f64 1) (*.f64 y y))
(pow.f64 (pow.f64 (exp.f64 y) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) (sqrt.f64 y)) (sqrt.f64 y))
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 2))
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(exp.f64 (+.f64 (*.f64 y y) (log.f64 x)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
Outputs
1
(+.f64 1 (pow.f64 y 2))
(+.f64 1 (*.f64 y y))
(fma.f64 y y 1)
(+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 y y) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 1 (fma.f64 y y (*.f64 1/2 (pow.f64 y 4))))
(fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1))
(+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4)))))
(fma.f64 1/6 (pow.f64 y 6) (+.f64 1 (+.f64 (*.f64 y y) (*.f64 1/2 (pow.f64 y 4)))))
(+.f64 (fma.f64 y y (*.f64 1/2 (pow.f64 y 4))) (fma.f64 1/6 (pow.f64 y 6) 1))
(fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1)))
(fma.f64 y y (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (pow.f64 y 4) 1)))
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) x))
(fma.f64 1/2 (*.f64 (pow.f64 y 4) x) (fma.f64 (*.f64 y y) x x))
(+.f64 x (*.f64 x (fma.f64 y y (*.f64 1/2 (pow.f64 y 4)))))
(*.f64 (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1)) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 6) x)) x)))
(fma.f64 1/2 (*.f64 (pow.f64 y 4) x) (fma.f64 (*.f64 y y) x (fma.f64 1/6 (*.f64 (pow.f64 y 6) x) x)))
(+.f64 (*.f64 (fma.f64 1/6 (pow.f64 y 6) 1) x) (*.f64 x (fma.f64 y y (*.f64 1/2 (pow.f64 y 4)))))
(*.f64 x (fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1))))
(*.f64 (fma.f64 y y (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (pow.f64 y 4) 1))) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(pow.f64 (pow.f64 (exp.f64 y) y) 1)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(pow.f64 (exp.f64 y) y)
(exp.f64 (*.f64 y y))
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 3)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3) 1/3)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) 2)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (exp.f64 1) (*.f64 y y))
(pow.f64 (E.f64) (*.f64 y y))
(pow.f64 (pow.f64 (exp.f64 y) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) (sqrt.f64 y)) (sqrt.f64 y))
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 2))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(log.f64 (pow.f64 (exp.f64 x) (pow.f64 (exp.f64 y) y)))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(exp.f64 (+.f64 (*.f64 y y) (log.f64 x)))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(*.f64 (exp.f64 (*.f64 y y)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))

localize7.0ms (0.2%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(pow.f64 (exp.f64 y) y)
Compiler

Compiled 16 to 5 computations (68.8% saved)

series55.0ms (1.2%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
53.0ms
x
@0
(*.f64 x (pow.f64 (exp.f64 y) y))
0.0ms
y
@0
(pow.f64 (exp.f64 y) y)
0.0ms
x
@inf
(*.f64 x (pow.f64 (exp.f64 y) y))
0.0ms
x
@-inf
(*.f64 x (pow.f64 (exp.f64 y) y))
0.0ms
y
@inf
(*.f64 x (pow.f64 (exp.f64 y) y))

rewrite89.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1448×pow1
1322×add-exp-log
1322×log1p-expm1-u
1322×expm1-log1p-u
1290×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
115728
2184628
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(pow.f64 (exp.f64 y) y)
(*.f64 x (pow.f64 (exp.f64 y) y))
Outputs
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 y) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) y) (pow.f64 (sqrt.f64 (exp.f64 y)) y))
(sqrt.f64 (pow.f64 (exp.f64 y) (+.f64 y y)))
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 y) y)) x))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(exp.f64 (+.f64 (log.f64 x) (*.f64 y y)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))

simplify80.0ms (1.7%)

Algorithm
egg-herbie
Rules
1670×fma-def
1060×distribute-rgt-in
1060×distribute-lft-in
950×associate-*r*
924×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911016
12121000
2636978
33404978
47271978
Stop Event
node limit
Counts
62 → 57
Calls
Call 1
Inputs
1
(+.f64 1 (pow.f64 y 2))
(+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4)))))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(exp.f64 (pow.f64 y 2))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) x))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 6) x)) x)))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 y) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) y) (pow.f64 (sqrt.f64 (exp.f64 y)) y))
(sqrt.f64 (pow.f64 (exp.f64 y) (+.f64 y y)))
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(exp.f64 (*.f64 y y))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 y) y)) x))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(exp.f64 (+.f64 (log.f64 x) (*.f64 y y)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
Outputs
1
(+.f64 1 (pow.f64 y 2))
(+.f64 1 (*.f64 y y))
(fma.f64 y y 1)
(+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 y y) (*.f64 1/2 (pow.f64 y 4))))
(+.f64 1 (fma.f64 y y (*.f64 1/2 (pow.f64 y 4))))
(fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1))
(+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 1 (+.f64 (pow.f64 y 2) (*.f64 1/2 (pow.f64 y 4)))))
(fma.f64 1/6 (pow.f64 y 6) (+.f64 1 (+.f64 (*.f64 y y) (*.f64 1/2 (pow.f64 y 4)))))
(+.f64 (fma.f64 y y (*.f64 1/2 (pow.f64 y 4))) (fma.f64 1/6 (pow.f64 y 6) 1))
(fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1)))
(fma.f64 1/2 (pow.f64 y 4) (fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y 1)))
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(exp.f64 (pow.f64 y 2))
(pow.f64 (exp.f64 y) y)
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 (fma.f64 y y 1) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) x))
(fma.f64 1/2 (*.f64 (pow.f64 y 4) x) (fma.f64 (*.f64 y y) x x))
(+.f64 x (*.f64 x (fma.f64 y y (*.f64 1/2 (pow.f64 y 4)))))
(*.f64 (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1)) x)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 (pow.f64 y 2) x) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 6) x)) x)))
(fma.f64 1/2 (*.f64 (pow.f64 y 4) x) (fma.f64 (*.f64 y y) x (fma.f64 1/6 (*.f64 (pow.f64 y 6) x) x)))
(+.f64 (*.f64 (fma.f64 1/6 (pow.f64 y 6) 1) x) (*.f64 x (fma.f64 y y (*.f64 1/2 (pow.f64 y 4)))))
(*.f64 x (fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) 1))))
(*.f64 x (fma.f64 1/2 (pow.f64 y 4) (fma.f64 1/6 (pow.f64 y 6) (fma.f64 y y 1))))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 (exp.f64 (pow.f64 y 2)) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 y) y)) 1)
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (exp.f64 y) y) 1)
(pow.f64 (exp.f64 y) y)
(*.f64 1 (pow.f64 (exp.f64 y) y))
(pow.f64 (exp.f64 y) y)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) 2) (cbrt.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (exp.f64 y) y)
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 y) y)) (sqrt.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 y) y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) y) (pow.f64 (sqrt.f64 (exp.f64 y)) y))
(pow.f64 (sqrt.f64 (exp.f64 y)) (+.f64 y y))
(sqrt.f64 (pow.f64 (exp.f64 y) (+.f64 y y)))
(pow.f64 (exp.f64 y) y)
(log.f64 (exp.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (exp.f64 y) y)
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 3))
(pow.f64 (exp.f64 y) y)
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (exp.f64 y) y)
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 y) y)))
(pow.f64 (exp.f64 y) y)
(-.f64 (+.f64 1 (*.f64 (pow.f64 (exp.f64 y) y) x)) 1)
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 1)
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 3)
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3) 1/3)
(*.f64 x (pow.f64 (exp.f64 y) y))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)) 2)
(*.f64 x (pow.f64 (exp.f64 y) y))
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 2))
(*.f64 x (pow.f64 (exp.f64 y) y))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 y) y)) x))
(*.f64 x (pow.f64 (exp.f64 y) y))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) 3))
(*.f64 x (pow.f64 (exp.f64 y) y))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(exp.f64 (+.f64 (log.f64 x) (*.f64 y y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (exp.f64 y) y) x)))
(*.f64 x (pow.f64 (exp.f64 y) y))

eval23.0ms (0.5%)

Compiler

Compiled 1272 to 619 computations (51.3% saved)

prune18.0ms (0.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1175122
Fresh000
Picked011
Done011
Total1177124
Accurracy
100.0%
Counts
124 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(fma.f64 (*.f64 y y) x x)
100.0%
(*.f64 x (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2)))
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
98.9%
(*.f64 x (+.f64 1 (*.f64 y y)))
100.0%
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
98.1%
x
Compiler

Compiled 67 to 43 computations (35.8% saved)

localize19.0ms (0.4%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
100.0%
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
100.0%
(pow.f64 (cbrt.f64 (exp.f64 y)) 2)
99.9%
(cbrt.f64 (exp.f64 y))
Compiler

Compiled 55 to 20 computations (63.6% saved)

series6.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
y
@inf
(cbrt.f64 (exp.f64 y))
1.0ms
y
@-inf
(cbrt.f64 (exp.f64 y))
1.0ms
y
@0
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
1.0ms
y
@0
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
0.0ms
y
@inf
(pow.f64 (cbrt.f64 (exp.f64 y)) 2)

rewrite136.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
1662×pow1
1530×add-exp-log
1530×log1p-expm1-u
1530×expm1-log1p-u
1492×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01060
120460
2230860
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(cbrt.f64 (exp.f64 y))
(pow.f64 (cbrt.f64 (exp.f64 y)) 2)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 y))) 1)
(*.f64 (cbrt.f64 (exp.f64 y)) 1)
(*.f64 1 (cbrt.f64 (exp.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(*.f64 (pow.f64 (exp.f64 y) 1/6) (pow.f64 (exp.f64 y) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3) (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3))
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (cbrt.f64 (exp.f64 y)) 1)
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 3)
(pow.f64 (pow.f64 (exp.f64 y) 1/6) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(fabs.f64 (cbrt.f64 (exp.f64 y)))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 y))))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 y))))
(exp.f64 (*.f64 y 1/3))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2))) 1)
(*.f64 (cbrt.f64 (exp.f64 y)) (cbrt.f64 (exp.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1)
(*.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (cbrt.f64 (exp.f64 y))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(*.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 (pow.f64 (exp.f64 y) 1/6) (cbrt.f64 (exp.f64 y))))
(*.f64 (sqrt.f64 (exp.f64 y)) (pow.f64 (exp.f64 y) 1/6))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(exp.f64 (*.f64 2 (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) 1)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))))
(*.f64 (pow.f64 1 (*.f64 y 1/2)) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (*.f64 y 1/2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 1/2)))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) y) (pow.f64 (pow.f64 (exp.f64 y) 1/6) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(fabs.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(exp.f64 (*.f64 y (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) 1)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (pow.f64 1 (*.f64 y 2)) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (*.f64 y 2)))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)) (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) y) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))

simplify93.0ms (2%)

Algorithm
egg-herbie
Rules
2022×fma-def
672×exp-prod
600×times-frac
516×sqr-pow
480×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02032461
14372319
213212201
330782151
462672151
Stop Event
node limit
Counts
125 → 158
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 y))
(+.f64 1 (+.f64 (*.f64 1/3 y) (*.f64 1/18 (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 1/3 y) (+.f64 (*.f64 1/162 (pow.f64 y 3)) (*.f64 1/18 (pow.f64 y 2)))))
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (exp.f64 y) 1/3)
1
(+.f64 1 (*.f64 2/3 y))
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (*.f64 2/3 y)))
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 2/3 y) (*.f64 4/81 (pow.f64 y 3)))))
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
1
(+.f64 1 (*.f64 1/3 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 y 2)) (*.f64 1/18 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 1/162 (pow.f64 y 6)) (+.f64 (*.f64 1/3 (pow.f64 y 2)) (*.f64 1/18 (pow.f64 y 4)))))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
1
(+.f64 1 (*.f64 2/3 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 2/3 (pow.f64 y 2)) (*.f64 2/9 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 2/3 (pow.f64 y 2)) (+.f64 (*.f64 4/81 (pow.f64 y 6)) (*.f64 2/9 (pow.f64 y 4)))))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 y))) 1)
(*.f64 (cbrt.f64 (exp.f64 y)) 1)
(*.f64 1 (cbrt.f64 (exp.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(*.f64 (pow.f64 (exp.f64 y) 1/6) (pow.f64 (exp.f64 y) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3) (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3))
(pow.f64 (exp.f64 y) 1/3)
(pow.f64 (cbrt.f64 (exp.f64 y)) 1)
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 3)
(pow.f64 (pow.f64 (exp.f64 y) 1/6) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(fabs.f64 (cbrt.f64 (exp.f64 y)))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 y))))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 y))))
(exp.f64 (*.f64 y 1/3))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2))) 1)
(*.f64 (cbrt.f64 (exp.f64 y)) (cbrt.f64 (exp.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1)
(*.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (cbrt.f64 (exp.f64 y))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(*.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 (pow.f64 (exp.f64 y) 1/6) (cbrt.f64 (exp.f64 y))))
(*.f64 (sqrt.f64 (exp.f64 y)) (pow.f64 (exp.f64 y) 1/6))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(exp.f64 (*.f64 2 (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) 1)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))))
(*.f64 (pow.f64 1 (*.f64 y 1/2)) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (*.f64 y 1/2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 1/2)))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) y) (pow.f64 (pow.f64 (exp.f64 y) 1/6) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(fabs.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(exp.f64 (*.f64 y (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) 1)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (pow.f64 1 (*.f64 y 2)) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (*.f64 y 2)))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)) (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) y) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
Outputs
1
(+.f64 1 (*.f64 1/3 y))
(fma.f64 1/3 y 1)
(+.f64 1 (+.f64 (*.f64 1/3 y) (*.f64 1/18 (pow.f64 y 2))))
(+.f64 1 (fma.f64 1/3 y (*.f64 1/18 (*.f64 y y))))
(+.f64 1 (fma.f64 1/18 (*.f64 y y) (*.f64 1/3 y)))
(fma.f64 y (*.f64 y 1/18) (fma.f64 1/3 y 1))
(fma.f64 y (fma.f64 y 1/18 1/3) 1)
(+.f64 1 (+.f64 (*.f64 1/3 y) (+.f64 (*.f64 1/162 (pow.f64 y 3)) (*.f64 1/18 (pow.f64 y 2)))))
(+.f64 1 (fma.f64 1/3 y (fma.f64 1/162 (pow.f64 y 3) (*.f64 1/18 (*.f64 y y)))))
(+.f64 (fma.f64 1/3 y 1) (fma.f64 1/18 (*.f64 y y) (*.f64 1/162 (pow.f64 y 3))))
(+.f64 (fma.f64 1/3 y 1) (*.f64 (*.f64 y y) (+.f64 1/18 (*.f64 y 1/162))))
(fma.f64 1/3 y (fma.f64 (*.f64 y y) (fma.f64 y 1/162 1/18) 1))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
1
(+.f64 1 (*.f64 2/3 y))
(+.f64 1 (*.f64 y 2/3))
(fma.f64 y 2/3 1)
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (*.f64 2/3 y)))
(fma.f64 2/9 (*.f64 y y) (+.f64 1 (*.f64 y 2/3)))
(fma.f64 (*.f64 y y) 2/9 (fma.f64 y 2/3 1))
(fma.f64 y (fma.f64 y 2/9 2/3) 1)
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 2/3 y) (*.f64 4/81 (pow.f64 y 3)))))
(fma.f64 2/9 (*.f64 y y) (+.f64 1 (fma.f64 2/3 y (*.f64 (pow.f64 y 3) 4/81))))
(+.f64 (fma.f64 (*.f64 y y) 2/9 (fma.f64 y 2/3 1)) (*.f64 (pow.f64 y 3) 4/81))
(fma.f64 y (*.f64 y 2/9) (fma.f64 y 2/3 (fma.f64 (pow.f64 y 3) 4/81 1)))
(fma.f64 y (fma.f64 y 2/9 2/3) (fma.f64 (pow.f64 y 3) 4/81 1))
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(pow.f64 (pow.f64 (exp.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
1
(+.f64 1 (*.f64 1/3 (pow.f64 y 2)))
(+.f64 1 (*.f64 1/3 (*.f64 y y)))
(fma.f64 1/3 (*.f64 y y) 1)
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 y 2)) (*.f64 1/18 (pow.f64 y 4))))
(+.f64 1 (fma.f64 1/3 (*.f64 y y) (*.f64 1/18 (pow.f64 y 4))))
(+.f64 1 (fma.f64 1/18 (pow.f64 y 4) (*.f64 1/3 (*.f64 y y))))
(fma.f64 1/3 (*.f64 y y) (fma.f64 1/18 (pow.f64 y 4) 1))
(+.f64 1 (+.f64 (*.f64 1/162 (pow.f64 y 6)) (+.f64 (*.f64 1/3 (pow.f64 y 2)) (*.f64 1/18 (pow.f64 y 4)))))
(+.f64 1 (fma.f64 1/162 (pow.f64 y 6) (fma.f64 1/3 (*.f64 y y) (*.f64 1/18 (pow.f64 y 4)))))
(+.f64 1 (fma.f64 1/162 (pow.f64 y 6) (fma.f64 1/18 (pow.f64 y 4) (*.f64 1/3 (*.f64 y y)))))
(fma.f64 1/162 (pow.f64 y 6) (fma.f64 1/3 (*.f64 y y) (fma.f64 1/18 (pow.f64 y 4) 1)))
(fma.f64 1/18 (pow.f64 y 4) (fma.f64 1/3 (*.f64 y y) (fma.f64 1/162 (pow.f64 y 6) 1)))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/3) y)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
1
(+.f64 1 (*.f64 2/3 (pow.f64 y 2)))
(+.f64 1 (*.f64 (*.f64 y y) 2/3))
(fma.f64 (*.f64 y y) 2/3 1)
(fma.f64 y (*.f64 y 2/3) 1)
(+.f64 1 (+.f64 (*.f64 2/3 (pow.f64 y 2)) (*.f64 2/9 (pow.f64 y 4))))
(+.f64 1 (fma.f64 2/3 (*.f64 y y) (*.f64 2/9 (pow.f64 y 4))))
(+.f64 1 (fma.f64 2/9 (pow.f64 y 4) (*.f64 y (*.f64 y 2/3))))
(fma.f64 y (*.f64 y 2/3) (fma.f64 2/9 (pow.f64 y 4) 1))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 2/9) 2/3) 1)
(+.f64 1 (+.f64 (*.f64 2/3 (pow.f64 y 2)) (+.f64 (*.f64 4/81 (pow.f64 y 6)) (*.f64 2/9 (pow.f64 y 4)))))
(+.f64 1 (fma.f64 2/3 (*.f64 y y) (fma.f64 4/81 (pow.f64 y 6) (*.f64 2/9 (pow.f64 y 4)))))
(+.f64 (fma.f64 (*.f64 y y) 2/3 1) (fma.f64 2/9 (pow.f64 y 4) (*.f64 4/81 (pow.f64 y 6))))
(+.f64 (fma.f64 y (*.f64 y 2/3) 1) (fma.f64 2/9 (pow.f64 y 4) (*.f64 4/81 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 2/9) 2/3) (fma.f64 4/81 (pow.f64 y 6) 1))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/3) 2) y)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 y))) 1)
(cbrt.f64 (exp.f64 y))
(*.f64 (cbrt.f64 (exp.f64 y)) 1)
(cbrt.f64 (exp.f64 y))
(*.f64 1 (cbrt.f64 (exp.f64 y)))
(cbrt.f64 (exp.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (exp.f64 y))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(cbrt.f64 (exp.f64 y))
(*.f64 (pow.f64 (exp.f64 y) 1/6) (pow.f64 (exp.f64 y) 1/6))
(cbrt.f64 (exp.f64 y))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)))
(cbrt.f64 (exp.f64 y))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 y)))
(cbrt.f64 (exp.f64 y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3) (pow.f64 (sqrt.f64 (exp.f64 y)) 1/3))
(cbrt.f64 (exp.f64 y))
(pow.f64 (exp.f64 y) 1/3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (cbrt.f64 (exp.f64 y)) 1)
(cbrt.f64 (exp.f64 y))
(pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1/2)
(cbrt.f64 (exp.f64 y))
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 3)
(cbrt.f64 (exp.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) 2)
(cbrt.f64 (exp.f64 y))
(sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(cbrt.f64 (exp.f64 y))
(fabs.f64 (cbrt.f64 (exp.f64 y)))
(cbrt.f64 (exp.f64 y))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (exp.f64 y))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (exp.f64 y))
(exp.f64 (*.f64 y 1/3))
(cbrt.f64 (exp.f64 y))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (exp.f64 y))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2))) 1)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (cbrt.f64 (exp.f64 y)) (cbrt.f64 (exp.f64 y)))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) 1)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 1 (cbrt.f64 (pow.f64 (exp.f64 y) 2)))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 (pow.f64 (exp.f64 y) 1/6) (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (sqrt.f64 (exp.f64 y)) (pow.f64 (exp.f64 y) 1/6))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (*.f64 (cbrt.f64 (exp.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 y))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2 (*.f64 y 1/3)))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2))))
(cbrt.f64 (pow.f64 (exp.f64 y) 2))
(pow.f64 (exp.f64 2/3) y)
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) 1)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 1)
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))) (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 y 4/3)) y))) (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 4/3)))) (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (pow.f64 1 (*.f64 y 1/2)) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) (*.f64 y 1/2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y 4/3))) (*.f64 y 1/2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 1/2)))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) y) (pow.f64 (pow.f64 (exp.f64 y) 1/6) y))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) (+.f64 y y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) 2)) (/.f64 (*.f64 y 1/2) 2)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(fabs.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) 3))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(exp.f64 (*.f64 y (*.f64 y 1/3)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
(cbrt.f64 (pow.f64 (exp.f64 y) y))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) 1)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 1 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 y 4/3)) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 4/3))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 y 4/3)) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 4/3))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))) (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (pow.f64 1 y) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (pow.f64 1 (*.f64 y 2)) (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (*.f64 y 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (*.f64 y 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) (+.f64 y y)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) (+.f64 y y)))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)) (pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 2)))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 2 (*.f64 y 2)))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 4 y))
(pow.f64 (pow.f64 (exp.f64 y) 1/6) (*.f64 y 4))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) y) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4)) y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2) y) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y 4/3))) y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))) (*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) y)) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y)) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 y) y))) (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))))
(sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 4) y))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2)) 3))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2)))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) (*.f64 y 2))))
(pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y)
(pow.f64 (exp.f64 (*.f64 y 2/3)) y)
(pow.f64 (exp.f64 y) (*.f64 y 2/3))

localize7.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (+.f64 1 (*.f64 y y)))
Compiler

Compiled 20 to 9 computations (55% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 x (+.f64 1 (*.f64 y y)))
0.0ms
x
@inf
(*.f64 x (+.f64 1 (*.f64 y y)))
0.0ms
y
@inf
(*.f64 x (+.f64 1 (*.f64 y y)))
0.0ms
x
@0
(*.f64 x (+.f64 1 (*.f64 y y)))
0.0ms
y
@0
(*.f64 x (+.f64 1 (*.f64 y y)))

rewrite76.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1620×pow1
1504×add-exp-log
1502×log1p-expm1-u
1502×expm1-log1p-u
1478×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
116615
2215215
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(*.f64 x (+.f64 1 (*.f64 y y)))
Outputs
(+.f64 x (*.f64 y (*.f64 y x)))
(+.f64 x (*.f64 (*.f64 y (*.f64 y x)) 1))
(+.f64 (*.f64 y (*.f64 y x)) x)
(-.f64 (+.f64 1 (*.f64 x (fma.f64 y y 1))) 1)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (*.f64 y x)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x))) (*.f64 x (*.f64 y (*.f64 y x))))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x)))) (-.f64 x (*.f64 y (*.f64 y x))))
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 6))) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 4))) (-.f64 1 (*.f64 y y)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 6)) x) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (-.f64 1 (*.f64 y y)))
(pow.f64 (*.f64 x (fma.f64 y y 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (fma.f64 y y 1))) 3)
(pow.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 x) (hypot.f64 1 y)) 2)
(sqrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 2))
(log.f64 (pow.f64 (exp.f64 x) (fma.f64 y y 1)))
(cbrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 y y 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y y 1) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (fma.f64 y y 1))))
(exp.f64 (log.f64 (*.f64 x (fma.f64 y y 1))))
(log1p.f64 (expm1.f64 (*.f64 x (fma.f64 y y 1))))
(fma.f64 x 1 (*.f64 y (*.f64 y x)))
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))

simplify53.0ms (1.1%)

Algorithm
egg-herbie
Rules
882×associate-+r+
836×associate-/l*
820×associate-+l+
766×associate-/r*
600×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
087874
1237874
2818854
33211840
Stop Event
node limit
Counts
50 → 43
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 (pow.f64 y 2) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 (pow.f64 y 2) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 x (*.f64 y (*.f64 y x)))
(+.f64 x (*.f64 (*.f64 y (*.f64 y x)) 1))
(+.f64 (*.f64 y (*.f64 y x)) x)
(-.f64 (+.f64 1 (*.f64 x (fma.f64 y y 1))) 1)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (*.f64 y x)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x))) (*.f64 x (*.f64 y (*.f64 y x))))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x)))) (-.f64 x (*.f64 y (*.f64 y x))))
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 6))) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 4))) (-.f64 1 (*.f64 y y)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 6)) x) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (-.f64 1 (*.f64 y y)))
(pow.f64 (*.f64 x (fma.f64 y y 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (fma.f64 y y 1))) 3)
(pow.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 x) (hypot.f64 1 y)) 2)
(sqrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 2))
(log.f64 (pow.f64 (exp.f64 x) (fma.f64 y y 1)))
(cbrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 y y 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y y 1) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (fma.f64 y y 1))))
(exp.f64 (log.f64 (*.f64 x (fma.f64 y y 1))))
(log1p.f64 (expm1.f64 (*.f64 x (fma.f64 y y 1))))
(fma.f64 x 1 (*.f64 y (*.f64 y x)))
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))
Outputs
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 x (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 x (*.f64 (*.f64 y (*.f64 y x)) 1))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 y (*.f64 y x)) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(-.f64 (+.f64 1 (*.f64 x (fma.f64 y y 1))) 1)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (*.f64 y x)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x))) (*.f64 x (*.f64 y (*.f64 y x))))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (*.f64 y y) x) 3)) (fma.f64 x x (*.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 (*.f64 y y) x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (*.f64 y x)) 3)) (fma.f64 (*.f64 y (*.f64 y x)) (-.f64 (*.f64 y (*.f64 y x)) x) (*.f64 x x)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 6)) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1 (pow.f64 y 6))) (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (fma.f64 y y -1))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 y x)) (*.f64 y (*.f64 y x)))) (-.f64 x (*.f64 y (*.f64 y x))))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 6))) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 x (/.f64 (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))) (+.f64 1 (pow.f64 y 6))))
(/.f64 (+.f64 x (*.f64 x (pow.f64 y 6))) (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))))
(/.f64 (fma.f64 x (pow.f64 y 6) x) (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))))
(/.f64 (fma.f64 x (pow.f64 y 6) x) (-.f64 (pow.f64 y 4) (fma.f64 y y -1)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 4))) (-.f64 1 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 6)) x) (-.f64 (+.f64 1 (pow.f64 y 4)) (*.f64 y y)))
(/.f64 x (/.f64 (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))) (+.f64 1 (pow.f64 y 6))))
(/.f64 (+.f64 x (*.f64 x (pow.f64 y 6))) (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))))
(/.f64 (fma.f64 x (pow.f64 y 6) x) (+.f64 1 (-.f64 (pow.f64 y 4) (*.f64 y y))))
(/.f64 (fma.f64 x (pow.f64 y 6) x) (-.f64 (pow.f64 y 4) (fma.f64 y y -1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (-.f64 1 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (*.f64 x (fma.f64 y y 1)) 1)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (cbrt.f64 (*.f64 x (fma.f64 y y 1))) 3)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3) 1/3)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (*.f64 (sqrt.f64 x) (hypot.f64 1 y)) 2)
(sqrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 2))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(log.f64 (pow.f64 (exp.f64 x) (fma.f64 y y 1)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(cbrt.f64 (pow.f64 (*.f64 x (fma.f64 y y 1)) 3))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 y y 1) 3)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y y 1) 3) (pow.f64 x 3)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(expm1.f64 (log1p.f64 (*.f64 x (fma.f64 y y 1))))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(exp.f64 (log.f64 (*.f64 x (fma.f64 y y 1))))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(log1p.f64 (expm1.f64 (*.f64 x (fma.f64 y y 1))))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 x 1 (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)

localize21.0ms (0.4%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
99.2%
(pow.f64 (cbrt.f64 y) 2)
99.0%
(cbrt.f64 y)
54.7%
(cbrt.f64 (pow.f64 y 4))
Compiler

Compiled 46 to 31 computations (32.6% saved)

series6.0ms (0.1%)

Counts
4 → 4
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
1.0ms
y
@0
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
1.0ms
y
@inf
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
0.0ms
y
@-inf
(pow.f64 (cbrt.f64 y) 2)
0.0ms
y
@-inf
(cbrt.f64 y)

rewrite113.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1798×pow1
1658×add-exp-log
1658×log1p-expm1-u
1658×expm1-log1p-u
1614×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01258
123838
2257038
Stop Event
node limit
Counts
4 → 79
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 y 4))
(cbrt.f64 y)
(pow.f64 (cbrt.f64 y) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2))
Outputs
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(+.f64 0 (*.f64 y (cbrt.f64 y)))
(-.f64 (+.f64 1 (*.f64 y (cbrt.f64 y))) 1)
(*.f64 y (cbrt.f64 y))
(*.f64 (*.f64 y (cbrt.f64 y)) 1)
(*.f64 (cbrt.f64 y) y)
(*.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 y) 2))
(*.f64 1 (*.f64 y (cbrt.f64 y)))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (cbrt.f64 (cbrt.f64 (pow.f64 y 8))))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (pow.f64 1 1/3) (*.f64 y (cbrt.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 y 8)) 1/3) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(pow.f64 y 4/3)
(pow.f64 (pow.f64 y 4) 1/3)
(pow.f64 (*.f64 y (cbrt.f64 y)) 1)
(pow.f64 (cbrt.f64 y) 4)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 2)
(pow.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) 3)
(sqrt.f64 (cbrt.f64 (pow.f64 y 8)))
(log.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))
(expm1.f64 (log1p.f64 (*.f64 y (cbrt.f64 y))))
(exp.f64 (log.f64 (*.f64 y (cbrt.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 y (cbrt.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 y)) 1)
(*.f64 (cbrt.f64 y) 1)
(*.f64 1 (cbrt.f64 y))
(*.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))
(*.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 y))
(*.f64 (pow.f64 (sqrt.f64 y) 1/3) (pow.f64 (sqrt.f64 y) 1/3))
(pow.f64 y 1/3)
(pow.f64 (cbrt.f64 y) 1)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)
(pow.f64 (pow.f64 y 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 y) 2))
(fabs.f64 (cbrt.f64 y))
(log.f64 (exp.f64 (cbrt.f64 y)))
(expm1.f64 (log1p.f64 (cbrt.f64 y)))
(exp.f64 (log.f64 (cbrt.f64 y)))
(log1p.f64 (expm1.f64 (cbrt.f64 y)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 y) 2)) 1)
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
(*.f64 (pow.f64 (cbrt.f64 y) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 y) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 y)))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(*.f64 (pow.f64 y 1/6) (*.f64 (pow.f64 y 1/6) (cbrt.f64 y)))
(*.f64 (sqrt.f64 y) (pow.f64 y 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8)))) (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))))
(*.f64 (*.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))
(sqrt.f64 (*.f64 y (cbrt.f64 y)))
(fabs.f64 (pow.f64 (cbrt.f64 y) 2))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 y) 2)))
(cbrt.f64 (*.f64 y y))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 y) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 y))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 y) 2)))
(-.f64 (+.f64 1 (exp.f64 (*.f64 y y))) 1)
(*.f64 (exp.f64 (*.f64 y y)) 1)
(*.f64 1 (exp.f64 (*.f64 y y)))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2) (cbrt.f64 (exp.f64 (*.f64 y y))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 y y))) (sqrt.f64 (exp.f64 (*.f64 y y))))
(*.f64 (pow.f64 1 (pow.f64 (cbrt.f64 y) 2)) (exp.f64 (*.f64 y y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(sqrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 2))
(log.f64 (exp.f64 (exp.f64 (*.f64 y y))))
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (*.f64 y y))))
(exp.f64 (*.f64 y y))
(log1p.f64 (expm1.f64 (exp.f64 (*.f64 y y))))

simplify73.0ms (1.6%)

Algorithm
egg-herbie
Rules
1604×fma-def
1226×unswap-sqr
836×exp-prod
716×log-prod
692×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01501987
12801671
29861383
343731017
Stop Event
node limit
Counts
83 → 106
Calls
Call 1
Inputs
1
1
1
1
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(+.f64 0 (*.f64 y (cbrt.f64 y)))
(-.f64 (+.f64 1 (*.f64 y (cbrt.f64 y))) 1)
(*.f64 y (cbrt.f64 y))
(*.f64 (*.f64 y (cbrt.f64 y)) 1)
(*.f64 (cbrt.f64 y) y)
(*.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 y) 2))
(*.f64 1 (*.f64 y (cbrt.f64 y)))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (cbrt.f64 (cbrt.f64 (pow.f64 y 8))))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (pow.f64 1 1/3) (*.f64 y (cbrt.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 y 8)) 1/3) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(pow.f64 y 4/3)
(pow.f64 (pow.f64 y 4) 1/3)
(pow.f64 (*.f64 y (cbrt.f64 y)) 1)
(pow.f64 (cbrt.f64 y) 4)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 2)
(pow.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) 3)
(sqrt.f64 (cbrt.f64 (pow.f64 y 8)))
(log.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))
(expm1.f64 (log1p.f64 (*.f64 y (cbrt.f64 y))))
(exp.f64 (log.f64 (*.f64 y (cbrt.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 y (cbrt.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 y)) 1)
(*.f64 (cbrt.f64 y) 1)
(*.f64 1 (cbrt.f64 y))
(*.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))
(*.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 y))
(*.f64 (pow.f64 (sqrt.f64 y) 1/3) (pow.f64 (sqrt.f64 y) 1/3))
(pow.f64 y 1/3)
(pow.f64 (cbrt.f64 y) 1)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)
(pow.f64 (pow.f64 y 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 y) 2))
(fabs.f64 (cbrt.f64 y))
(log.f64 (exp.f64 (cbrt.f64 y)))
(expm1.f64 (log1p.f64 (cbrt.f64 y)))
(exp.f64 (log.f64 (cbrt.f64 y)))
(log1p.f64 (expm1.f64 (cbrt.f64 y)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 y) 2)) 1)
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
(*.f64 (pow.f64 (cbrt.f64 y) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 y) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 y)))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(*.f64 (pow.f64 y 1/6) (*.f64 (pow.f64 y 1/6) (cbrt.f64 y)))
(*.f64 (sqrt.f64 y) (pow.f64 y 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8)))) (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))))
(*.f64 (*.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))
(sqrt.f64 (*.f64 y (cbrt.f64 y)))
(fabs.f64 (pow.f64 (cbrt.f64 y) 2))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 y) 2)))
(cbrt.f64 (*.f64 y y))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 y) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 y))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 y) 2)))
(-.f64 (+.f64 1 (exp.f64 (*.f64 y y))) 1)
(*.f64 (exp.f64 (*.f64 y y)) 1)
(*.f64 1 (exp.f64 (*.f64 y y)))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2) (cbrt.f64 (exp.f64 (*.f64 y y))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 y y))) (sqrt.f64 (exp.f64 (*.f64 y y))))
(*.f64 (pow.f64 1 (pow.f64 (cbrt.f64 y) 2)) (exp.f64 (*.f64 y y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(sqrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 2))
(log.f64 (exp.f64 (exp.f64 (*.f64 y y))))
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (*.f64 y y))))
(exp.f64 (*.f64 y y))
(log1p.f64 (expm1.f64 (exp.f64 (*.f64 y y))))
Outputs
1
1
1
1
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))) 3)
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(+.f64 0 (*.f64 y (cbrt.f64 y)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(-.f64 (+.f64 1 (*.f64 y (cbrt.f64 y))) 1)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 y (cbrt.f64 y))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 (*.f64 y (cbrt.f64 y)) 1)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 (cbrt.f64 y) y)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 y) 2))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 1 (*.f64 y (cbrt.f64 y)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (cbrt.f64 (cbrt.f64 (pow.f64 y 8))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (cbrt.f64 (cbrt.f64 (pow.f64 y 8))))
(*.f64 (pow.f64 1 1/3) (*.f64 y (cbrt.f64 y)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 y 8)) 1/3) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (cbrt.f64 (cbrt.f64 (pow.f64 y 8))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(pow.f64 y 4/3)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(pow.f64 (pow.f64 y 4) 1/3)
(cbrt.f64 (pow.f64 y 4))
(pow.f64 (*.f64 y (cbrt.f64 y)) 1)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(pow.f64 (cbrt.f64 y) 4)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 2)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(pow.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) 3)
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(sqrt.f64 (cbrt.f64 (pow.f64 y 8)))
(log.f64 (exp.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(expm1.f64 (log1p.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(exp.f64 (log.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(log1p.f64 (expm1.f64 (*.f64 y (cbrt.f64 y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y))))
(*.f64 y (cbrt.f64 y))
(-.f64 (+.f64 1 (cbrt.f64 y)) 1)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (cbrt.f64 y) 1)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 1 (cbrt.f64 y))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (fabs.f64 (cbrt.f64 (cbrt.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 y)) (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 y))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(*.f64 (pow.f64 (sqrt.f64 y) 1/3) (pow.f64 (sqrt.f64 y) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 y)) (cbrt.f64 (sqrt.f64 y)))
(pow.f64 (pow.f64 (sqrt.f64 y) 1/6) 4)
(pow.f64 y 1/3)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(pow.f64 (cbrt.f64 y) 1)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(pow.f64 (pow.f64 y 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(sqrt.f64 (pow.f64 (cbrt.f64 y) 2))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(fabs.f64 (cbrt.f64 y))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(log.f64 (exp.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(expm1.f64 (log1p.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(exp.f64 (log.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(log1p.f64 (expm1.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (cbrt.f64 y) 1))
(+.f64 (cbrt.f64 y) 0)
(cbrt.f64 y)
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 y) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (pow.f64 (cbrt.f64 y) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 1 (pow.f64 (cbrt.f64 y) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (*.f64 y (cbrt.f64 y))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (pow.f64 y 1/6) (*.f64 (pow.f64 y 1/6) (cbrt.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (sqrt.f64 y) (pow.f64 y 1/6))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(*.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8)))) (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 8)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 (pow.f64 y 8)) 1/6))
(*.f64 (*.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(sqrt.f64 (*.f64 y (cbrt.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(fabs.f64 (pow.f64 (cbrt.f64 y) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(cbrt.f64 (*.f64 y y))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 y))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 y) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 y) 2) 0)
(pow.f64 (cbrt.f64 y) 2)
(-.f64 (+.f64 1 (exp.f64 (*.f64 y y))) 1)
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (exp.f64 (*.f64 y y)) 1)
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 1 (exp.f64 (*.f64 y y)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y y))) 2) (cbrt.f64 (exp.f64 (*.f64 y y))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (sqrt.f64 (exp.f64 (*.f64 y y))) (sqrt.f64 (exp.f64 (*.f64 y y))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 1 (pow.f64 (cbrt.f64 y) 2)) (exp.f64 (*.f64 y y)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) 2) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y))) 2) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y))) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y)) 2) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y)) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 y (cbrt.f64 y)))) (pow.f64 (cbrt.f64 y) 2)))
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (cbrt.f64 y))) (*.f64 2 (pow.f64 (cbrt.f64 y) 2)))
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) y)) (*.f64 2 (pow.f64 (cbrt.f64 y) 2)))
(sqrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 2))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(log.f64 (exp.f64 (exp.f64 (*.f64 y y))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 y y)) 3))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(expm1.f64 (log1p.f64 (exp.f64 (*.f64 y y))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)
(exp.f64 (*.f64 y y))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(pow.f64 (exp.f64 y) y)
(log1p.f64 (expm1.f64 (exp.f64 (*.f64 y y))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 y) y) 1))
(+.f64 1 (expm1.f64 (*.f64 y y)))
(exp.f64 (*.f64 y y))
(pow.f64 (exp.f64 y) y)

localize5.0ms (0.1%)

Compiler

Compiled 13 to 4 computations (69.2% saved)

eval200.0ms (4.3%)

Compiler

Compiled 6094 to 3041 computations (50.1% saved)

prune104.0ms (2.2%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New3374341
Fresh011
Picked101
Done235
Total3408348
Accurracy
100.0%
Counts
348 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(+.f64 (*.f64 y (*.f64 y x)) x)
5.0%
(*.f64 (*.f64 y y) x)
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
98.9%
(*.f64 x (+.f64 1 (*.f64 y y)))
100.0%
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
100.0%
(*.f64 x (*.f64 (exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
98.1%
x
Compiler

Compiled 80 to 53 computations (33.8% saved)

localize25.0ms (0.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
99.9%
(cbrt.f64 (exp.f64 y))
99.9%
(*.f64 (*.f64 y 1/3) (*.f64 y 2))
99.5%
(*.f64 y 1/3)
Compiler

Compiled 67 to 37 computations (44.8% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(*.f64 (*.f64 y 1/3) (*.f64 y 2))
0.0ms
y
@inf
(*.f64 y 1/3)
0.0ms
y
@0
(*.f64 (*.f64 y 1/3) (*.f64 y 2))
0.0ms
y
@-inf
(*.f64 y 1/3)
0.0ms
y
@0
(*.f64 y 1/3)

rewrite67.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1496×pow1
1380×add-exp-log
1380×log1p-expm1-u
1380×expm1-log1p-u
1352×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0826
116520
2189020
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 y 1/3)
(*.f64 (*.f64 y 1/3) (*.f64 y 2))
Outputs
(-.f64 (+.f64 1 (*.f64 y 1/3)) 1)
(pow.f64 (*.f64 y 1/3) 1)
(pow.f64 (cbrt.f64 (*.f64 y 1/3)) 3)
(pow.f64 (pow.f64 (*.f64 y 1/3) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y 1/3)) 2)
(sqrt.f64 (*.f64 (*.f64 y y) 1/9))
(log.f64 (pow.f64 (exp.f64 1/3) y))
(cbrt.f64 (pow.f64 (*.f64 y 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 y 1/3)))
(exp.f64 (log.f64 (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (*.f64 y 1/3)))
(-.f64 (+.f64 1 (*.f64 y (*.f64 2/3 y))) 1)
(pow.f64 (*.f64 y (*.f64 2/3 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 2/3 y))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (*.f64 2/3 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 2/3 y)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 2/3 y))))
(exp.f64 (log.f64 (*.f64 y (*.f64 2/3 y))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 2/3 y))))

simplify46.0ms (1%)

Algorithm
egg-herbie
Rules
1426×distribute-rgt-in
1414×distribute-lft-in
1332×log-prod
1192×fma-def
992×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059460
1143460
2509460
33302460
Stop Event
node limit
Counts
46 → 26
Calls
Call 1
Inputs
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(-.f64 (+.f64 1 (*.f64 y 1/3)) 1)
(pow.f64 (*.f64 y 1/3) 1)
(pow.f64 (cbrt.f64 (*.f64 y 1/3)) 3)
(pow.f64 (pow.f64 (*.f64 y 1/3) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y 1/3)) 2)
(sqrt.f64 (*.f64 (*.f64 y y) 1/9))
(log.f64 (pow.f64 (exp.f64 1/3) y))
(cbrt.f64 (pow.f64 (*.f64 y 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 y 1/3)))
(exp.f64 (log.f64 (*.f64 y 1/3)))
(log1p.f64 (expm1.f64 (*.f64 y 1/3)))
(-.f64 (+.f64 1 (*.f64 y (*.f64 2/3 y))) 1)
(pow.f64 (*.f64 y (*.f64 2/3 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 2/3 y))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (*.f64 2/3 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 2/3 y)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 2/3 y))))
(exp.f64 (log.f64 (*.f64 y (*.f64 2/3 y))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 2/3 y))))
Outputs
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 1/3 y)
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(-.f64 (+.f64 1 (*.f64 y 1/3)) 1)
(*.f64 1/3 y)
(pow.f64 (*.f64 y 1/3) 1)
(*.f64 1/3 y)
(pow.f64 (cbrt.f64 (*.f64 y 1/3)) 3)
(*.f64 1/3 y)
(pow.f64 (pow.f64 (*.f64 y 1/3) 3) 1/3)
(*.f64 1/3 y)
(pow.f64 (sqrt.f64 (*.f64 y 1/3)) 2)
(*.f64 1/3 y)
(sqrt.f64 (*.f64 (*.f64 y y) 1/9))
(*.f64 1/3 y)
(log.f64 (pow.f64 (exp.f64 1/3) y))
(*.f64 1/3 y)
(cbrt.f64 (pow.f64 (*.f64 y 1/3) 3))
(*.f64 1/3 y)
(expm1.f64 (log1p.f64 (*.f64 y 1/3)))
(*.f64 1/3 y)
(exp.f64 (log.f64 (*.f64 y 1/3)))
(*.f64 1/3 y)
(log1p.f64 (expm1.f64 (*.f64 y 1/3)))
(*.f64 1/3 y)
(-.f64 (+.f64 1 (*.f64 y (*.f64 2/3 y))) 1)
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(pow.f64 (*.f64 y (*.f64 2/3 y)) 1)
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 2/3 y))) 3)
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(pow.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3) 1/3)
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(pow.f64 (sqrt.f64 (*.f64 y (*.f64 2/3 y))) 2)
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 2/3 y)))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 2/3 y)) 3))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 2/3 y))))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(exp.f64 (log.f64 (*.f64 y (*.f64 2/3 y))))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 2/3 y))))
(*.f64 2/3 (*.f64 y y))
(*.f64 y (*.f64 y 2/3))

localize72.0ms (1.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (cbrt.f64 (exp.f64 y)) 2)
99.9%
(cbrt.f64 (exp.f64 y))
99.9%
(*.f64 y (*.f64 y 1/3))
99.5%
(*.f64 y 1/3)
Compiler

Compiled 67 to 37 computations (44.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 y (*.f64 y 1/3))
0.0ms
y
@inf
(*.f64 y (*.f64 y 1/3))
0.0ms
y
@-inf
(*.f64 y (*.f64 y 1/3))

rewrite50.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1090×pow1
1050×add-sqr-sqrt
1002×add-exp-log
1002×log1p-expm1-u
1002×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
112113
2138013
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 y (*.f64 y 1/3))
Outputs
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 1/3))) 1)
(pow.f64 (*.f64 y (*.f64 y 1/3)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/3))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 1/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 1/3)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 1/3))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 1/3))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 1/3))))

simplify59.0ms (1.3%)

Algorithm
egg-herbie
Rules
2344×log-prod
1254×distribute-rgt-in
1240×distribute-lft-in
934×associate-*r*
776×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034299
184299
2325299
32356299
47794299
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (pow.f64 y 2))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 1/3))) 1)
(pow.f64 (*.f64 y (*.f64 y 1/3)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/3))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 1/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 1/3)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 1/3))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 1/3))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 1/3))))
Outputs
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(*.f64 1/3 (pow.f64 y 2))
(*.f64 1/3 (*.f64 y y))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 1/3))) 1)
(*.f64 1/3 (*.f64 y y))
(pow.f64 (*.f64 y (*.f64 y 1/3)) 1)
(*.f64 1/3 (*.f64 y y))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/3))) 3)
(*.f64 1/3 (*.f64 y y))
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3) 1/3)
(*.f64 1/3 (*.f64 y y))
(pow.f64 (*.f64 y (sqrt.f64 1/3)) 2)
(*.f64 1/3 (*.f64 y y))
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 2))
(*.f64 1/3 (*.f64 y y))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 1/3)))
(*.f64 1/3 (*.f64 y y))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 1/3)) 3))
(*.f64 1/3 (*.f64 y y))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 1/3))))
(*.f64 1/3 (*.f64 y y))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 1/3))))
(*.f64 1/3 (*.f64 y y))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 1/3))))
(*.f64 1/3 (*.f64 y y))

localize4.0ms (0.1%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
90.7%
(*.f64 (*.f64 y y) x)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(*.f64 (*.f64 y y) x)
0.0ms
x
@inf
(*.f64 (*.f64 y y) x)
0.0ms
x
@-inf
(*.f64 (*.f64 y y) x)
0.0ms
x
@0
(*.f64 (*.f64 y y) x)
0.0ms
y
@0
(*.f64 (*.f64 y y) x)

rewrite55.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1108×pow1
1052×add-sqr-sqrt
1014×add-exp-log
1014×log1p-expm1-u
1014×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
112013
2144713
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) x)
Outputs
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (*.f64 x x) (pow.f64 y 4)))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))

simplify60.0ms (1.3%)

Algorithm
egg-herbie
Rules
2370×log-prod
1260×distribute-rgt-in
1238×distribute-lft-in
934×associate-*r*
752×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038455
193455
2337455
32320455
47854455
Stop Event
node limit
Counts
35 → 13
Calls
Call 1
Inputs
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (*.f64 x x) (pow.f64 y 4)))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))
Outputs
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(*.f64 y (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(*.f64 y (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(*.f64 y (*.f64 y x))
(sqrt.f64 (*.f64 (*.f64 x x) (pow.f64 y 4)))
(*.f64 y (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(*.f64 y (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(*.f64 y (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))

localize6.0ms (0.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 y (*.f64 y x)) x)
99.8%
(*.f64 y (*.f64 y x))
Compiler

Compiled 19 to 5 computations (73.7% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 y (*.f64 y x)) x)
0.0ms
x
@-inf
(+.f64 (*.f64 y (*.f64 y x)) x)
0.0ms
y
@0
(*.f64 y (*.f64 y x))
0.0ms
y
@inf
(+.f64 (*.f64 y (*.f64 y x)) x)
0.0ms
y
@inf
(*.f64 y (*.f64 y x))

rewrite69.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1646×pow1
1522×add-exp-log
1522×log1p-expm1-u
1522×expm1-log1p-u
1492×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
115228
2212228
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 y (*.f64 y x)) x)
Outputs
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))
(-.f64 (+.f64 1 (fma.f64 y (*.f64 y x) x)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 y (*.f64 y x)) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y (*.f64 y x)) x)))
(*.f64 x (+.f64 1 (*.f64 y y)))
(*.f64 x (+.f64 (*.f64 y y) 1))
(*.f64 (fma.f64 y (*.f64 y x) x) 1)
(*.f64 1 (fma.f64 y (*.f64 y x) x))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2) (cbrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) (sqrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y (*.f64 y x)) x)))
(*.f64 (+.f64 (*.f64 y y) 1) x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 y x)) x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (pow.f64 (*.f64 y x) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y (*.f64 y x)) x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (*.f64 y x)) 2)) (-.f64 x (*.f64 y (*.f64 y x))))
(pow.f64 (fma.f64 y (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 2))
(log.f64 (exp.f64 (fma.f64 y (*.f64 y x) x)))
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (*.f64 y x) x)))
(exp.f64 (log.f64 (fma.f64 y (*.f64 y x) x)))
(log1p.f64 (expm1.f64 (fma.f64 y (*.f64 y x) x)))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (*.f64 y x) y x)
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(fma.f64 1 (*.f64 y (*.f64 y x)) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 2) (cbrt.f64 (*.f64 y (*.f64 y x))) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (*.f64 y (sqrt.f64 x)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))

simplify76.0ms (1.6%)

Algorithm
egg-herbie
Rules
1286×fma-def
1114×log-prod
1016×unswap-sqr
878×times-frac
460×cancel-sign-sub-inv
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212002
13041952
211311886
368951886
Stop Event
node limit
Counts
98 → 60
Calls
Call 1
Inputs
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 (pow.f64 y 2) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 (pow.f64 y 2) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))
(-.f64 (+.f64 1 (fma.f64 y (*.f64 y x) x)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 y (*.f64 y x)) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y (*.f64 y x)) x)))
(*.f64 x (+.f64 1 (*.f64 y y)))
(*.f64 x (+.f64 (*.f64 y y) 1))
(*.f64 (fma.f64 y (*.f64 y x) x) 1)
(*.f64 1 (fma.f64 y (*.f64 y x) x))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2) (cbrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) (sqrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y (*.f64 y x)) x)))
(*.f64 (+.f64 (*.f64 y y) 1) x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 y x)) x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (pow.f64 (*.f64 y x) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y (*.f64 y x)) x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (*.f64 y x)) 2)) (-.f64 x (*.f64 y (*.f64 y x))))
(pow.f64 (fma.f64 y (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 2))
(log.f64 (exp.f64 (fma.f64 y (*.f64 y x) x)))
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (*.f64 y x) x)))
(exp.f64 (log.f64 (fma.f64 y (*.f64 y x) x)))
(log1p.f64 (expm1.f64 (fma.f64 y (*.f64 y x) x)))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (*.f64 y x) y x)
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(fma.f64 1 (*.f64 y (*.f64 y x)) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 2) (cbrt.f64 (*.f64 y (*.f64 y x))) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(fma.f64 (*.f64 y y) x x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (*.f64 y (sqrt.f64 x)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))
Outputs
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
x
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(+.f64 (*.f64 (pow.f64 y 2) x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 1 (pow.f64 y 2)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (pow.f64 y 2)) 1) x))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(-.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 y (*.f64 y x)) 1)
(*.f64 y (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)
(*.f64 y (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(*.f64 y (*.f64 y x))
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2))
(*.f64 y (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))
(*.f64 y (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))
(*.f64 y (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))
(exp.f64 (log.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))
(*.f64 y (*.f64 y x))
(-.f64 (+.f64 1 (fma.f64 y (*.f64 y x) x)) 1)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(-.f64 (/.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 y (*.f64 y x)) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y (*.f64 y x)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(*.f64 x (+.f64 1 (*.f64 y y)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 x (+.f64 (*.f64 y y) 1))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (fma.f64 y (*.f64 y x) x) 1)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 1 (fma.f64 y (*.f64 y x) x))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 2) (cbrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) (sqrt.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (-.f64 (fma.f64 x x (pow.f64 (*.f64 y (*.f64 y x)) 2)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y (*.f64 y x)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(*.f64 (+.f64 (*.f64 y y) 1) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (-.f64 (fma.f64 x x (pow.f64 (*.f64 y (*.f64 y x)) 2)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 y x)) x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (-.f64 (fma.f64 x x (pow.f64 (*.f64 y (*.f64 y x)) 2)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (pow.f64 (*.f64 y x) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (-.f64 (fma.f64 x x (pow.f64 (*.f64 y (*.f64 y x)) 2)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (-.f64 (fma.f64 x x (pow.f64 (*.f64 y (*.f64 y x)) 2)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 y y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y (*.f64 y x)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (*.f64 y x)) 2)) (-.f64 x (*.f64 y (*.f64 y x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 y x)) x))
(/.f64 (*.f64 (*.f64 x x) (+.f64 (pow.f64 y 4) -1)) (*.f64 x (-.f64 (*.f64 y y) 1)))
(pow.f64 (fma.f64 y (*.f64 y x) x) 1)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y x) x)) 3)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3) 1/3)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(pow.f64 (sqrt.f64 (fma.f64 y (*.f64 y x) x)) 2)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(sqrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 2))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(log.f64 (exp.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y x) x) 3))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(expm1.f64 (log1p.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(exp.f64 (log.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(log1p.f64 (expm1.f64 (fma.f64 y (*.f64 y x) x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 y (*.f64 y x) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 (*.f64 y x) y x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 1 x (*.f64 y (*.f64 y x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 1 (*.f64 y (*.f64 y x)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 2) (cbrt.f64 (*.f64 y (*.f64 y x))) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (*.f64 y x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (*.f64 y y) x x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (*.f64 y (sqrt.f64 x)) x)
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (*.f64 y x)))
(*.f64 x (fma.f64 y y 1))
(fma.f64 y (*.f64 y x) x)

eval78.0ms (1.7%)

Compiler

Compiled 4785 to 2735 computations (42.8% saved)

prune45.0ms (1%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New2632265
Fresh011
Picked011
Done246
Total2658273
Accurracy
100.0%
Counts
273 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(+.f64 (*.f64 y (*.f64 y x)) x)
5.0%
(*.f64 (*.f64 y y) x)
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
98.9%
(*.f64 x (+.f64 1 (*.f64 y y)))
99.9%
(*.f64 x (*.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
100.0%
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
98.1%
x
Compiler

Compiled 77 to 50 computations (35.1% saved)

localize24.0ms (0.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (cbrt.f64 (exp.f64 y)) y)
99.9%
(cbrt.f64 (exp.f64 y))
99.9%
(*.f64 y (*.f64 y 2/3))
99.5%
(*.f64 y 2/3)
Compiler

Compiled 55 to 26 computations (52.7% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@-inf
(*.f64 y 2/3)
0.0ms
y
@0
(*.f64 y 2/3)
0.0ms
y
@inf
(*.f64 y 2/3)
0.0ms
y
@inf
(*.f64 y (*.f64 y 2/3))
0.0ms
y
@0
(*.f64 y (*.f64 y 2/3))

rewrite58.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1090×pow1
1052×add-sqr-sqrt
1004×add-exp-log
1004×log1p-expm1-u
1004×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0620
112120
2138120
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 y 2/3)
(*.f64 y (*.f64 y 2/3))
Outputs
(-.f64 (+.f64 1 (*.f64 y 2/3)) 1)
(pow.f64 (*.f64 y 2/3) 1)
(pow.f64 (cbrt.f64 (*.f64 y 2/3)) 3)
(pow.f64 (pow.f64 (*.f64 y 2/3) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y 2/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y 2/3) 2))
(log.f64 (exp.f64 (*.f64 y 2/3)))
(cbrt.f64 (pow.f64 (*.f64 y 2/3) 3))
(expm1.f64 (log1p.f64 (*.f64 y 2/3)))
(exp.f64 (log.f64 (*.f64 y 2/3)))
(log1p.f64 (expm1.f64 (*.f64 y 2/3)))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 2/3))) 1)
(pow.f64 (*.f64 y (*.f64 y 2/3)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 2/3))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 2/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 2/3))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 2/3))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 2/3))))

simplify44.0ms (0.9%)

Algorithm
egg-herbie
Rules
1184×fma-def
1056×distribute-rgt-in
1024×distribute-lft-in
866×log-prod
814×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056460
1130460
2563460
32284460
Stop Event
node limit
Counts
46 → 25
Calls
Call 1
Inputs
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (pow.f64 y 2))
(-.f64 (+.f64 1 (*.f64 y 2/3)) 1)
(pow.f64 (*.f64 y 2/3) 1)
(pow.f64 (cbrt.f64 (*.f64 y 2/3)) 3)
(pow.f64 (pow.f64 (*.f64 y 2/3) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y 2/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y 2/3) 2))
(log.f64 (exp.f64 (*.f64 y 2/3)))
(cbrt.f64 (pow.f64 (*.f64 y 2/3) 3))
(expm1.f64 (log1p.f64 (*.f64 y 2/3)))
(exp.f64 (log.f64 (*.f64 y 2/3)))
(log1p.f64 (expm1.f64 (*.f64 y 2/3)))
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 2/3))) 1)
(pow.f64 (*.f64 y (*.f64 y 2/3)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 2/3))) 3)
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3) 1/3)
(pow.f64 (*.f64 y (sqrt.f64 2/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 2/3))))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 2/3))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 2/3))))
Outputs
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 y)
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(*.f64 2/3 (pow.f64 y 2))
(*.f64 2/3 (*.f64 y y))
(-.f64 (+.f64 1 (*.f64 y 2/3)) 1)
(*.f64 2/3 y)
(pow.f64 (*.f64 y 2/3) 1)
(*.f64 2/3 y)
(pow.f64 (cbrt.f64 (*.f64 y 2/3)) 3)
(*.f64 2/3 y)
(pow.f64 (pow.f64 (*.f64 y 2/3) 3) 1/3)
(*.f64 2/3 y)
(pow.f64 (sqrt.f64 (*.f64 y 2/3)) 2)
(*.f64 2/3 y)
(sqrt.f64 (pow.f64 (*.f64 y 2/3) 2))
(*.f64 2/3 y)
(log.f64 (exp.f64 (*.f64 y 2/3)))
(*.f64 2/3 y)
(cbrt.f64 (pow.f64 (*.f64 y 2/3) 3))
(*.f64 2/3 y)
(expm1.f64 (log1p.f64 (*.f64 y 2/3)))
(*.f64 2/3 y)
(exp.f64 (log.f64 (*.f64 y 2/3)))
(*.f64 2/3 y)
(log1p.f64 (expm1.f64 (*.f64 y 2/3)))
(*.f64 2/3 y)
(-.f64 (+.f64 1 (*.f64 y (*.f64 y 2/3))) 1)
(*.f64 2/3 (*.f64 y y))
(pow.f64 (*.f64 y (*.f64 y 2/3)) 1)
(*.f64 2/3 (*.f64 y y))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 2/3))) 3)
(*.f64 2/3 (*.f64 y y))
(pow.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3) 1/3)
(*.f64 2/3 (*.f64 y y))
(pow.f64 (*.f64 y (sqrt.f64 2/3)) 2)
(*.f64 2/3 (*.f64 y y))
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 2))
(*.f64 2/3 (*.f64 y y))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 y 2/3)))
(*.f64 2/3 (*.f64 y y))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 y 2/3)) 3))
(*.f64 2/3 (*.f64 y y))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 y 2/3))))
(*.f64 2/3 (*.f64 y y))
(exp.f64 (log.f64 (*.f64 y (*.f64 y 2/3))))
(*.f64 2/3 (*.f64 y y))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 y 2/3))))
(*.f64 2/3 (*.f64 y y))

localize33.0ms (0.7%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 (exp.f64 2/3) y)
99.9%
(*.f64 y (*.f64 y 1/3))
99.5%
(*.f64 y 1/3)
98.4%
(exp.f64 2/3)
Compiler

Compiled 60 to 41 computations (31.7% saved)

series0.0ms (0%)

Counts
2 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(pow.f64 (exp.f64 2/3) y)
0.0ms
y
@inf
(pow.f64 (exp.f64 2/3) y)
0.0ms
y
@-inf
(pow.f64 (exp.f64 2/3) y)

rewrite54.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1236×pow1
1142×add-exp-log
1142×log1p-expm1-u
1142×expm1-log1p-u
1116×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114016
2157316
Stop Event
node limit
Counts
2 → 30
Calls
Call 1
Inputs
(exp.f64 2/3)
(pow.f64 (exp.f64 2/3) y)
Outputs
(-.f64 (+.f64 1 (exp.f64 2/3)) 1)
(*.f64 (exp.f64 2/3) 1)
(*.f64 1 (exp.f64 2/3))
(*.f64 (cbrt.f64 (exp.f64 2/3)) (cbrt.f64 (exp.f64 4/3)))
(*.f64 (cbrt.f64 (exp.f64 4/3)) (cbrt.f64 (exp.f64 2/3)))
(*.f64 (sqrt.f64 (exp.f64 2/3)) (sqrt.f64 (exp.f64 2/3)))
(pow.f64 (exp.f64 2/3) 1)
(pow.f64 (cbrt.f64 (exp.f64 2/3)) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 2/3)) 2)
(sqrt.f64 (exp.f64 4/3))
(log.f64 (exp.f64 (exp.f64 2/3)))
(cbrt.f64 (pow.f64 (exp.f64 2/3) 3))
(expm1.f64 (log1p.f64 (exp.f64 2/3)))
(log1p.f64 (expm1.f64 (exp.f64 2/3)))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 2/3) y)) 1)
(*.f64 (pow.f64 (exp.f64 2/3) y) 1)
(*.f64 1 (pow.f64 (exp.f64 2/3) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (pow.f64 (exp.f64 4/3) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 4/3) y)) (cbrt.f64 (pow.f64 (exp.f64 2/3) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 2/3) y)) (sqrt.f64 (pow.f64 (exp.f64 2/3) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 2/3) y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 4/3)) y) (pow.f64 (cbrt.f64 (exp.f64 2/3)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 2/3)) y) (pow.f64 (sqrt.f64 (exp.f64 2/3)) y))
(sqrt.f64 (pow.f64 (exp.f64 4/3) y))
(log.f64 (exp.f64 (pow.f64 (exp.f64 2/3) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 2/3) y)))
(exp.f64 (*.f64 2/3 y))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 2/3) y)))

simplify72.0ms (1.5%)

Algorithm
egg-herbie
Rules
838×fma-def
830×associate-+r+
782×fma-neg
744×associate-+l+
570×exp-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076676
1155578
2504484
32208472
44010472
57310472
Stop Event
node limit
Counts
42 → 52
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 2/3 y))
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (*.f64 2/3 y)))
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 2/3 y) (*.f64 4/81 (pow.f64 y 3)))))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(exp.f64 (*.f64 2/3 y))
(-.f64 (+.f64 1 (exp.f64 2/3)) 1)
(*.f64 (exp.f64 2/3) 1)
(*.f64 1 (exp.f64 2/3))
(*.f64 (cbrt.f64 (exp.f64 2/3)) (cbrt.f64 (exp.f64 4/3)))
(*.f64 (cbrt.f64 (exp.f64 4/3)) (cbrt.f64 (exp.f64 2/3)))
(*.f64 (sqrt.f64 (exp.f64 2/3)) (sqrt.f64 (exp.f64 2/3)))
(pow.f64 (exp.f64 2/3) 1)
(pow.f64 (cbrt.f64 (exp.f64 2/3)) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 2/3)) 2)
(sqrt.f64 (exp.f64 4/3))
(log.f64 (exp.f64 (exp.f64 2/3)))
(cbrt.f64 (pow.f64 (exp.f64 2/3) 3))
(expm1.f64 (log1p.f64 (exp.f64 2/3)))
(log1p.f64 (expm1.f64 (exp.f64 2/3)))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 2/3) y)) 1)
(*.f64 (pow.f64 (exp.f64 2/3) y) 1)
(*.f64 1 (pow.f64 (exp.f64 2/3) y))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (pow.f64 (exp.f64 4/3) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 4/3) y)) (cbrt.f64 (pow.f64 (exp.f64 2/3) y)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 2/3) y)) (sqrt.f64 (pow.f64 (exp.f64 2/3) y)))
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 2/3) y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 4/3)) y) (pow.f64 (cbrt.f64 (exp.f64 2/3)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 2/3)) y) (pow.f64 (sqrt.f64 (exp.f64 2/3)) y))
(sqrt.f64 (pow.f64 (exp.f64 4/3) y))
(log.f64 (exp.f64 (pow.f64 (exp.f64 2/3) y)))
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) 3))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 2/3) y)))
(exp.f64 (*.f64 2/3 y))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 2/3) y)))
Outputs
1
(+.f64 1 (*.f64 2/3 y))
(fma.f64 2/3 y 1)
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (*.f64 2/3 y)))
(fma.f64 2/9 (*.f64 y y) (+.f64 1 (*.f64 2/3 y)))
(fma.f64 2/9 (*.f64 y y) (fma.f64 2/3 y 1))
(fma.f64 2/3 y (fma.f64 y (*.f64 y 2/9) 1))
(fma.f64 y (fma.f64 y 2/9 2/3) 1)
(+.f64 (*.f64 2/9 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 2/3 y) (*.f64 4/81 (pow.f64 y 3)))))
(fma.f64 2/9 (*.f64 y y) (+.f64 1 (fma.f64 2/3 y (*.f64 4/81 (pow.f64 y 3)))))
(+.f64 (fma.f64 4/81 (pow.f64 y 3) (*.f64 2/3 y)) (fma.f64 2/9 (*.f64 y y) 1))
(fma.f64 y (*.f64 y 2/9) (fma.f64 2/3 y (fma.f64 4/81 (pow.f64 y 3) 1)))
(fma.f64 y (fma.f64 y 2/9 2/3) (fma.f64 4/81 (pow.f64 y 3) 1))
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(-.f64 (+.f64 1 (exp.f64 2/3)) 1)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(*.f64 (exp.f64 2/3) 1)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(*.f64 1 (exp.f64 2/3))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(*.f64 (cbrt.f64 (exp.f64 2/3)) (cbrt.f64 (exp.f64 4/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(*.f64 (cbrt.f64 (exp.f64 4/3)) (cbrt.f64 (exp.f64 2/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(*.f64 (sqrt.f64 (exp.f64 2/3)) (sqrt.f64 (exp.f64 2/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(pow.f64 (exp.f64 2/3) 1)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(pow.f64 (cbrt.f64 (exp.f64 2/3)) 3)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(pow.f64 (pow.f64 (exp.f64 2/3) 3) 1/3)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(pow.f64 (sqrt.f64 (exp.f64 2/3)) 2)
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(sqrt.f64 (exp.f64 4/3))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(log.f64 (exp.f64 (exp.f64 2/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(cbrt.f64 (pow.f64 (exp.f64 2/3) 3))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(expm1.f64 (log1p.f64 (exp.f64 2/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(log1p.f64 (expm1.f64 (exp.f64 2/3)))
(+.f64 (+.f64 1 (exp.f64 2/3)) -1)
(+.f64 (exp.f64 2/3) 0)
(exp.f64 2/3)
(-.f64 (+.f64 1 (pow.f64 (exp.f64 2/3) y)) 1)
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 (exp.f64 2/3) y) 1)
(pow.f64 (exp.f64 2/3) y)
(*.f64 1 (pow.f64 (exp.f64 2/3) y))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (pow.f64 (exp.f64 4/3) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (exp.f64 (*.f64 y 4/3))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 4/3) y)) (cbrt.f64 (pow.f64 (exp.f64 2/3) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (pow.f64 (exp.f64 4/3) y)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 2/3) y)) (cbrt.f64 (exp.f64 (*.f64 y 4/3))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 2/3) y)) (sqrt.f64 (pow.f64 (exp.f64 2/3) y)))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 1 y) (pow.f64 (exp.f64 2/3) y))
(pow.f64 (exp.f64 2/3) y)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 4/3)) y) (pow.f64 (cbrt.f64 (exp.f64 2/3)) y))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 2/3)) y) (pow.f64 (sqrt.f64 (exp.f64 2/3)) y))
(pow.f64 (sqrt.f64 (exp.f64 2/3)) (*.f64 2 y))
(pow.f64 (sqrt.f64 (exp.f64 2/3)) (*.f64 y 2))
(pow.f64 (sqrt.f64 (exp.f64 2/3)) (+.f64 y y))
(sqrt.f64 (pow.f64 (exp.f64 4/3) y))
(sqrt.f64 (exp.f64 (*.f64 y 4/3)))
(log.f64 (exp.f64 (pow.f64 (exp.f64 2/3) y)))
(pow.f64 (exp.f64 2/3) y)
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) 3))
(pow.f64 (exp.f64 2/3) y)
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 2/3) y)))
(pow.f64 (exp.f64 2/3) y)
(exp.f64 (*.f64 2/3 y))
(pow.f64 (exp.f64 2/3) y)
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 2/3) y)))
(pow.f64 (exp.f64 2/3) y)

eval67.0ms (1.4%)

Compiler

Compiled 3368 to 2141 computations (36.4% saved)

prune29.0ms (0.6%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New1790179
Fresh011
Picked011
Done066
Total1798187
Accurracy
100.0%
Counts
187 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(+.f64 (*.f64 y (*.f64 y x)) x)
5.0%
(*.f64 (*.f64 y y) x)
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
98.9%
(*.f64 x (+.f64 1 (*.f64 y y)))
99.9%
(*.f64 x (*.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
100.0%
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
98.1%
x
Compiler

Compiled 77 to 50 computations (35.1% saved)

regimes31.0ms (0.7%)

Counts
13 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 y y) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 x (*.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
(*.f64 x (*.f64 (exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
(*.f64 x (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2)))
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
Outputs
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
Calls

5 calls:

8.0ms
y
7.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
7.0ms
x
3.0ms
(exp.f64 (*.f64 y y))
3.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 y y)
Compiler

Compiled 153 to 81 computations (47.1% saved)

regimes29.0ms (0.6%)

Counts
10 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 y y) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 x (*.f64 (pow.f64 (pow.f64 (exp.f64 2/3) y) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
(*.f64 x (*.f64 (exp.f64 (*.f64 (*.f64 y 1/3) (*.f64 y 2))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
Outputs
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
Calls

5 calls:

8.0ms
y
6.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
6.0ms
x
3.0ms
(*.f64 y y)
2.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 y y)
Compiler

Compiled 110 to 58 computations (47.3% saved)

regimes21.0ms (0.5%)

Counts
7 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 y y) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
(*.f64 x (pow.f64 (exp.f64 y) y))
Outputs
(*.f64 x (pow.f64 (exp.f64 y) y))
Calls

5 calls:

6.0ms
y
5.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
5.0ms
x
2.0ms
(*.f64 y y)
2.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 y y)
Compiler

Compiled 65 to 32 computations (50.8% saved)

regimes22.0ms (0.5%)

Counts
6 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 y y) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(*.f64 x (exp.f64 (*.f64 y y)))
(fma.f64 (*.f64 y y) x x)
Outputs
(*.f64 x (exp.f64 (*.f64 y y)))
Calls

5 calls:

6.0ms
x
5.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
4.0ms
y
3.0ms
(exp.f64 (*.f64 y y))
2.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 y y)
Compiler

Compiled 59 to 29 computations (50.8% saved)

regimes12.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 y y) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
Outputs
(+.f64 (*.f64 y (*.f64 y x)) x)
Calls

3 calls:

5.0ms
x
4.0ms
y
2.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
98.9%1x
98.9%1y
98.9%1(*.f64 y y)
Compiler

Compiled 33 to 17 computations (48.5% saved)

regimes10.0ms (0.2%)

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

3 calls:

3.0ms
y
3.0ms
x
2.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
98.9%1x
98.9%1y
98.9%1(*.f64 y y)
Compiler

Compiled 26 to 14 computations (46.2% saved)

regimes10.0ms (0.2%)

Accuracy

Total -59.6b remaining (-4925.2%)

Threshold costs -59.6b (-4925.2%)

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

3 calls:

3.0ms
y
3.0ms
x
2.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
98.1%1x
98.1%1y
98.1%1(*.f64 y y)
Compiler

Compiled 19 to 11 computations (42.1% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
26×*-commutative
+-commutative
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034165
151165
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 x (exp.f64 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(*.f64 x (+.f64 1 (*.f64 y y)))
x
Outputs
(*.f64 x (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 y)) 2) y) (exp.f64 (*.f64 y (*.f64 y 1/3)))))
(*.f64 x (*.f64 (exp.f64 (*.f64 y (*.f64 y 2/3))) (pow.f64 (cbrt.f64 (exp.f64 y)) y)))
(*.f64 x (pow.f64 (exp.f64 y) y))
(*.f64 x (exp.f64 (*.f64 y y)))
(+.f64 (*.f64 y (*.f64 y x)) x)
(+.f64 x (*.f64 y (*.f64 x y)))
(*.f64 x (+.f64 1 (*.f64 y y)))
(*.f64 x (+.f64 (*.f64 y y) 1))
x
Compiler

Compiled 71 to 47 computations (33.8% saved)

soundness594.0ms (12.7%)

Rules
1662×pow1
1662×pow1
1620×pow1
1530×add-exp-log
1530×log1p-expm1-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
11117
21517
32417
45217
514117
644717
7143017
8255117
9385017
10423517
11481017
12658117
0828
115728
2184628
01060
120460
2230860
0981100
12331084
27971062
328341062
457741062
0819
116615
2215215
01060
120460
2230860
059460
1143460
2509460
33302460
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 402 to 196 computations (51.2% saved)

end49.0ms (1%)

Compiler

Compiled 59 to 31 computations (47.5% saved)

Profiling

Loading profile data...