Details

Time bar (total: 2.1s)

analyze46.0ms (2.2%)

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
53.3%50%43.7%0.1%6.2%0%0%7
63.3%59.3%34.3%0.1%6.2%0%0%8
74.1%67.1%23.4%0.1%9.4%0%0%9
80.2%72.6%18%0.1%9.4%0%0%10
86.4%76.9%12.1%0.1%10.9%0%0%11
89.7%79.8%9.2%0.1%10.9%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample634.0ms (30.1%)

Results
612.0ms8256×body256valid
10.0ms132×body256infinite
Bogosity

preprocess15.0ms (0.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*l*_binary64
associate-*r*_binary64
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
11414
22014
32014
022
122
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(*.f64 (*.f64 x 27) y)
(*.f64 (*.f64 y 27) x)
Outputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 y 27) x)
(*.f64 x (*.f64 27 y))
Symmetry

(sort x y)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
1107
2177
3197
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 x 27) y)
Outputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
0.2b
(*.f64 x (*.f64 27 y))
Compiler

Compiled 14 to 10 computations (28.6% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 27 y))
Compiler

Compiled 13 to 8 computations (38.5% saved)

series4.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

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

rewrite37.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
555×pow1_binary64
512×add-log-exp_binary64
512×log1p-expm1-u_binary64
512×expm1-log1p-u_binary64
502×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213947
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 x (*.f64 27 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))))))

simplify42.0ms (2%)

Algorithm
egg-herbie
Rules
600×distribute-rgt-in_binary64
597×log-prod_binary64
587×distribute-lft-in_binary64
457×associate-*l*_binary64
434×exp-sum_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033245
183245
2339245
32546245
47261245
Stop Event
node limit
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
Outputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(*.f64 27 (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(*.f64 27 (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(*.f64 27 (*.f64 y x))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(*.f64 27 (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(*.f64 27 (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(*.f64 27 (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
Compiler

Compiled 13 to 8 computations (38.5% saved)

series1.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite36.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
554×pow1_binary64
511×add-log-exp_binary64
511×log1p-expm1-u_binary64
511×expm1-log1p-u_binary64
501×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213927
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (*.f64 x 27) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (*.f64 x 27)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))))))

simplify50.0ms (2.4%)

Algorithm
egg-herbie
Rules
600×distribute-rgt-in_binary64
597×log-prod_binary64
587×distribute-lft-in_binary64
452×associate-*l*_binary64
434×exp-sum_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034245
184245
2337245
32530245
47257245
Stop Event
node limit
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 x 27)))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
Outputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(*.f64 27 (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(*.f64 27 (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(*.f64 27 (*.f64 y x))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(*.f64 27 (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 y) (*.f64 x 27)))
(*.f64 27 (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(*.f64 27 (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(*.f64 27 (*.f64 y x))

eval4.0ms (0.2%)

Compiler

Compiled 182 to 133 computations (26.9% saved)

prune4.0ms (0.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New21324
Fresh000
Picked011
Done011
Total21526
Error
0.0b
Counts
26 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
26.5b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
0.2b
(*.f64 (*.f64 x 27) y)
0.2b
(*.f64 x (*.f64 27 y))
0.2b
(*.f64 27 (*.f64 y x))
29.2b
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
Compiler

Compiled 41 to 31 computations (24.4% saved)

localize12.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 27 y))
0.3b
(pow.f64 (*.f64 x (*.f64 27 y)) 3)
28.3b
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
Compiler

Compiled 29 to 20 computations (31% saved)

series17.0ms (0.8%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
5.0ms
x
@0
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
2.0ms
y
@-inf
(pow.f64 (*.f64 x (*.f64 27 y)) 3)
2.0ms
x
@-inf
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
2.0ms
y
@-inf
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
1.0ms
y
@0
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))

rewrite50.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
720×pow1_binary64
675×add-log-exp_binary64
675×log1p-expm1-u_binary64
675×expm1-log1p-u_binary64
658×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
118817
2192617
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(pow.f64 (*.f64 x (*.f64 27 y)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 27 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 27 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 x 27))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 27 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 3 (cbrt.f64 y)) 2) (*.f64 (*.f64 3 (cbrt.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 27) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3) (cbrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) 27)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (*.f64 3 (cbrt.f64 y)) 2)) (*.f64 3 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 27 y) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 27 y) (*.f64 x (pow.f64 (*.f64 x (*.f64 27 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 27 y)) (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3) (*.f64 19683 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 19683 (pow.f64 y 3)) (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 27) (*.f64 y (pow.f64 (*.f64 x (*.f64 27 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 3) (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3) (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x 27) 3) (pow.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) x) (*.f64 27 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 27 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1) (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (cbrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x 27)) y)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))))))))

simplify57.0ms (2.7%)

Algorithm
egg-herbie
Rules
815×exp-prod_binary64
689×unswap-sqr_binary64
600×fma-neg_binary64
475×log-prod_binary64
348×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01481389
13571128
213871023
354971013
Stop Event
node limit
Counts
112 → 75
Calls
Call 1
Inputs
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(*.f64 x (*.f64 27 y))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 27 y) x)
(*.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 1 (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (*.f64 3 (cbrt.f64 y)) 2) (*.f64 (*.f64 3 (cbrt.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (*.f64 x 27) y)
(*.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (pow.f64 1 1/3) (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3))
(*.f64 (*.f64 x y) 27)
(*.f64 (*.f64 x (pow.f64 (*.f64 3 (cbrt.f64 y)) 2)) (*.f64 3 (cbrt.f64 y)))
(*.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))
(*.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (*.f64 x 27) 1) y)
(*.f64 (*.f64 (*.f64 x 27) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(-.f64 (+.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3)) 1)
(*.f64 x (*.f64 (*.f64 27 y) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 (*.f64 27 y) (*.f64 x (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 (*.f64 x (*.f64 27 y)) (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 (pow.f64 x 3) (*.f64 19683 (pow.f64 y 3)))
(*.f64 (*.f64 19683 (pow.f64 y 3)) (pow.f64 x 3))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))
(*.f64 (*.f64 x 27) (*.f64 y (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 3) (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3) (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3))
(*.f64 (pow.f64 (*.f64 x 27) 3) (pow.f64 y 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) x) (*.f64 27 y))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 27 y)) x)
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1) (*.f64 x (*.f64 27 y)))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x 27)) y)
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(exp.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))))
Outputs
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -19683) x)))
(neg.f64 (*.f64 y (*.f64 x (cbrt.f64 -19683))))
(*.f64 (*.f64 y (cbrt.f64 -19683)) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 (cbrt.f64 -19683))))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 27 y))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 y (*.f64 x 27))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 (*.f64 27 y) x)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 x (*.f64 27 y)) 1)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 1 (*.f64 x (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 (*.f64 3 (cbrt.f64 y)) 2) (*.f64 (*.f64 3 (cbrt.f64 y)) x))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 x 27) y)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/3) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 1 1/3) (*.f64 x (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3/2)) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3/2)))
(pow.f64 (pow.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3/2) 1/6) 4)
(*.f64 (*.f64 x y) 27)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 x (pow.f64 (*.f64 3 (cbrt.f64 y)) 2)) (*.f64 3 (cbrt.f64 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 (*.f64 x 27) 1) y)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 (*.f64 x 27) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 y (*.f64 x 27)) 1))
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(-.f64 (+.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3)) 1)
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 x (*.f64 (*.f64 27 y) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 27 y) (*.f64 x (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 x (*.f64 27 y)) (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1)
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 1 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x (*.f64 27 y)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 x 3) (*.f64 19683 (pow.f64 y 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 19683 (pow.f64 y 3)) (pow.f64 x 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 x 27) (*.f64 y (pow.f64 (*.f64 x (*.f64 27 y)) 2)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 3) (*.f64 x (*.f64 27 y)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3) (pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (pow.f64 (*.f64 x 27) 3) (pow.f64 y 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) x) (*.f64 27 y))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 27 y)) x)
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1) (*.f64 x (*.f64 27 y)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) (*.f64 x 27)) y)
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 6))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(log.f64 (exp.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 3))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3)))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))
(exp.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 19683 (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(*.f64 19683 (pow.f64 (*.f64 y x) 3))

localize7.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series1.0ms (0.1%)

Counts
1 → 0
Calls

6 calls:

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

rewrite36.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
555×pow1_binary64
512×add-log-exp_binary64
512×log1p-expm1-u_binary64
512×expm1-log1p-u_binary64
502×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213947
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 27 (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (*.f64 y x)) 3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 27 (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 729))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 27) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 27 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 27 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 27 (*.f64 y x))))))))

simplify39.0ms (1.8%)

Algorithm
egg-herbie
Rules
1066×log-prod_binary64
480×exp-sum_binary64
434×distribute-rgt-in_binary64
421×distribute-lft-in_binary64
310×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
034143
190110
229077
3184277
4580577
Stop Event
node limit
Counts
11 → 14
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 27 (*.f64 y x))) 1)
(pow.f64 (*.f64 27 (*.f64 y x)) 1)
(pow.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3) 1/3)
(pow.f64 (*.f64 (cbrt.f64 (*.f64 y x)) 3) 3)
(pow.f64 (sqrt.f64 (*.f64 27 (*.f64 y x))) 2)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 729))
(log.f64 (pow.f64 (exp.f64 27) (*.f64 y x)))
(cbrt.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (*.f64 27 (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 27 (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 27 (*.f64 y x))))
Outputs
(-.f64 (+.f64 1 (*.f64 27 (*.f64 y x))) 1)
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 27 (*.f64 y x)) 1)
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 (cbrt.f64 (*.f64 y x)) 3) 3)
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 27 (*.f64 y x))) 2)
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 729))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 27) (*.f64 y x)))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 27 (*.f64 y x)) 3))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 27 (*.f64 y x))))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 27 (*.f64 y x))))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(exp.f64 (log.f64 (*.f64 27 (*.f64 y x))))
(+.f64 1 (-.f64 (*.f64 27 (*.f64 y x)) 1))
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))

localize12.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
0.2b
(*.f64 x (*.f64 27 y))
9.4b
(sqrt.f64 (*.f64 x (*.f64 27 y)))
Compiler

Compiled 28 to 19 computations (32.1% saved)

series15.0ms (0.7%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
1.0ms
x
@0
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
1.0ms
x
@0
(sqrt.f64 (*.f64 x (*.f64 27 y)))
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
1.0ms
y
@0
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)

rewrite44.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
708×pow1_binary64
657×add-log-exp_binary64
657×log1p-expm1-u_binary64
657×expm1-log1p-u_binary64
643×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
118716
2184216
Stop Event
node limit
Counts
2 → 61
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 27)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x 27) 1/2) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 27 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 27 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 x 27))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 27 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 729 (*.f64 y y))) (*.f64 (*.f64 (cbrt.f64 y) 3) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 27) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4)) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) 27)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (cbrt.f64 (*.f64 729 (*.f64 y y)))) (*.f64 (cbrt.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 x)) (sqrt.f64 (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (*.f64 27 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 27 y) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))))))

simplify42.0ms (2%)

Algorithm
egg-herbie
Rules
620×distribute-rgt-in_binary64
594×distribute-lft-in_binary64
553×fma-def_binary64
464×unswap-sqr_binary64
358×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0135861
1296705
21039549
33560549
Stop Event
node limit
Counts
61 → 76
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 1)
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)
(*.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 27 y)))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))
(*.f64 (sqrt.f64 (*.f64 x 27)) (sqrt.f64 y))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 1/2))
(*.f64 (pow.f64 (*.f64 x 27) 1/2) (sqrt.f64 y))
(pow.f64 (*.f64 x (*.f64 27 y)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 3)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(*.f64 x (*.f64 27 y))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 x 27))
(*.f64 (*.f64 27 y) x)
(*.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 1 (*.f64 x (*.f64 27 y)))
(*.f64 (cbrt.f64 (*.f64 729 (*.f64 y y))) (*.f64 (*.f64 (cbrt.f64 y) 3) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (*.f64 x 27) y)
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4)) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))
(*.f64 (*.f64 x y) 27)
(*.f64 (*.f64 x (cbrt.f64 (*.f64 729 (*.f64 y y)))) (*.f64 (cbrt.f64 y) 3))
(*.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))
(*.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 x)) (sqrt.f64 (*.f64 27 y)))
(*.f64 (*.f64 (*.f64 x 27) 1) y)
(*.f64 (*.f64 (*.f64 x 27) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))
(*.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (*.f64 27 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 27 y) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 1 (sqrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 x 27)) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) (sqrt.f64 (*.f64 x 27)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 1/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(*.f64 (pow.f64 (*.f64 x 27) 1/2) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) (sqrt.f64 (*.f64 x 27)))
(pow.f64 (*.f64 x (*.f64 27 y)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(fabs.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 1))
(+.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 0)
(sqrt.f64 (*.f64 x (*.f64 27 y)))
(-.f64 (+.f64 1 (*.f64 x (*.f64 27 y))) 1)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 x (*.f64 27 y))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 27 (*.f64 y x))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 y (*.f64 x 27))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 27 y) x)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 x (*.f64 27 y)) 1)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 1 (*.f64 x (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (cbrt.f64 (*.f64 729 (*.f64 y y))) (*.f64 (*.f64 (cbrt.f64 y) 3) x))
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
(*.f64 x (*.f64 (cbrt.f64 (*.f64 y (*.f64 y 729))) (*.f64 3 (cbrt.f64 y))))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 2) (cbrt.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 27 y)) x))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 27 y))))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 x)))
(*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (*.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 1/4) (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 x 27) y)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4)) (pow.f64 (*.f64 x (*.f64 27 y)) 1/4))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 x y) 27)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 x (cbrt.f64 (*.f64 729 (*.f64 y y)))) (*.f64 (cbrt.f64 y) 3))
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
(*.f64 x (*.f64 (cbrt.f64 (*.f64 y (*.f64 y 729))) (*.f64 3 (cbrt.f64 y))))
(*.f64 (*.f64 x (sqrt.f64 (*.f64 27 y))) (sqrt.f64 (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (*.f64 27 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (*.f64 27 y) (sqrt.f64 x)) (sqrt.f64 x))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (cbrt.f64 (*.f64 x (*.f64 27 y)))) (cbrt.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 x)) (sqrt.f64 (*.f64 27 y)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 (*.f64 27 y))))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (*.f64 (sqrt.f64 (*.f64 27 y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (*.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) (sqrt.f64 x)))
(*.f64 (*.f64 (*.f64 x 27) 1) y)
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 (*.f64 x 27) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))
(*.f64 (*.f64 x 27) (*.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 y)))
(*.f64 x (*.f64 27 (*.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)))))
(*.f64 (*.f64 x 27) (*.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y))))
(*.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (*.f64 x 27) (cbrt.f64 y)))
(*.f64 (*.f64 (*.f64 x 27) (sqrt.f64 y)) (sqrt.f64 y))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (*.f64 27 y) 3)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 27 y) 3) (pow.f64 x 3)))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(+.f64 1 (-.f64 (*.f64 x (*.f64 27 y)) 1))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 x (*.f64 27 y))

eval41.0ms (2%)

Compiler

Compiled 2026 to 1442 computations (28.8% saved)

prune22.0ms (1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1872189
Fresh000
Picked011
Done134
Total1886194
Error
0.0b
Counts
194 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
26.5b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
0.2b
(*.f64 (*.f64 x 27) y)
23.9b
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
0.7b
(*.f64 (cbrt.f64 19683) (*.f64 y x))
0.2b
(*.f64 x (*.f64 27 y))
0.2b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 54 to 40 computations (25.9% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 19683) (*.f64 y x))
1.0b
(cbrt.f64 19683)
Compiler

Compiled 16 to 9 computations (43.8% saved)

series2.0ms (0.1%)

Counts
2 → 0
Calls

6 calls:

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

rewrite42.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
632×pow1_binary64
586×add-log-exp_binary64
586×log1p-expm1-u_binary64
586×expm1-log1p-u_binary64
572×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
113912
2160112
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(cbrt.f64 19683)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 19683)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 19683) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 19683))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 19683)) (cbrt.f64 (cbrt.f64 387420489)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 19683)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 19683 1/6) (pow.f64 19683 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 19683 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 19683) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 19683)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 19683 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 387420489))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 19683)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 19683)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 19683)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 19683)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x) y) (cbrt.f64 19683)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))))))

simplify43.0ms (2%)

Algorithm
egg-herbie
Rules
627×log-prod_binary64
617×fma-neg_binary64
441×fma-def_binary64
394×associate-*l*_binary64
347×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060296
1128233
2477170
32639170
46605170
Stop Event
node limit
Counts
26 → 32
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 19683)) 1)
(*.f64 (cbrt.f64 19683) 1)
(*.f64 1 (cbrt.f64 19683))
(*.f64 (cbrt.f64 (cbrt.f64 19683)) (cbrt.f64 (cbrt.f64 387420489)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 19683)))
(*.f64 (pow.f64 19683 1/6) (pow.f64 19683 1/6))
(pow.f64 19683 1/3)
(pow.f64 (cbrt.f64 19683) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 19683)) 3)
(pow.f64 (pow.f64 19683 1/6) 2)
(sqrt.f64 (cbrt.f64 387420489))
(log.f64 (exp.f64 (cbrt.f64 19683)))
(expm1.f64 (log1p.f64 (cbrt.f64 19683)))
(log1p.f64 (expm1.f64 (cbrt.f64 19683)))
(exp.f64 (log.f64 (cbrt.f64 19683)))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 1)
(pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 1)
(pow.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 x) y) (cbrt.f64 19683)))
(cbrt.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 19683)) 1)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(*.f64 (cbrt.f64 19683) 1)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(*.f64 1 (cbrt.f64 19683))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(*.f64 (cbrt.f64 (cbrt.f64 19683)) (cbrt.f64 (cbrt.f64 387420489)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 19683)))
(*.f64 (cbrt.f64 (cbrt.f64 19683)) (cbrt.f64 (cbrt.f64 387420489)))
(*.f64 (pow.f64 19683 1/6) (pow.f64 19683 1/6))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(pow.f64 19683 1/3)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(pow.f64 (cbrt.f64 19683) 1)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(pow.f64 (cbrt.f64 (cbrt.f64 19683)) 3)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(pow.f64 (pow.f64 19683 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(sqrt.f64 (cbrt.f64 387420489))
(log.f64 (exp.f64 (cbrt.f64 19683)))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(expm1.f64 (log1p.f64 (cbrt.f64 19683)))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(log1p.f64 (expm1.f64 (cbrt.f64 19683)))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(exp.f64 (log.f64 (cbrt.f64 19683)))
(+.f64 (+.f64 1 (cbrt.f64 19683)) -1)
(+.f64 (cbrt.f64 19683) 0)
(cbrt.f64 19683)
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 1)
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 1)
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(pow.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)) 1/3)
(cbrt.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)))
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 3)
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))) 2)
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 2))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(log.f64 (pow.f64 (pow.f64 (exp.f64 x) y) (cbrt.f64 19683)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(cbrt.f64 (*.f64 19683 (pow.f64 (*.f64 y x) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 19683) (*.f64 y x))) -1)
(+.f64 (*.f64 (cbrt.f64 19683) (*.f64 y x)) 0)
(*.f64 (cbrt.f64 19683) (*.f64 y x))

localize18.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
0.3b
(*.f64 3 (cbrt.f64 y))
0.6b
(cbrt.f64 y)
28.7b
(cbrt.f64 (*.f64 (*.f64 729 y) y))
Compiler

Compiled 45 to 27 computations (40% saved)

series19.0ms (0.9%)

Counts
4 → 24
Calls

15 calls:

TimeVariablePointExpression
7.0ms
y
@0
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
3.0ms
x
@0
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
2.0ms
y
@-inf
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
1.0ms
x
@inf
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
1.0ms
y
@0
(cbrt.f64 (*.f64 (*.f64 729 y) y))

rewrite58.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
597×log-prod_binary64
434×exp-prod_binary64
418×pow-prod-down_binary64
364×pow-unpow_binary64
273×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
124125
2279625
Stop Event
node limit
Counts
4 → 143
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (*.f64 729 y) y))
(cbrt.f64 y)
(*.f64 3 (cbrt.f64 y))
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (*.f64 3 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 y) 3) (*.f64 (cbrt.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9 (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 2) 9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 y) 9) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 27 y) 1/6) (sqrt.f64 (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 27 y)) (pow.f64 (*.f64 27 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) 3) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 5) (cbrt.f64 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) 1) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 y 1/6)) (pow.f64 y 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 4) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 6) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 y) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 1/6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (pow.f64 (*.f64 27 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 y 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y y) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 y) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 y))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 y)))) (sqrt.f64 (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 y) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 y) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 y) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 6) 1/18)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 27 y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))) 2)) (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))) (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (cbrt.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 27 y))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 27 y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 27 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 27 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1) 1))))))

simplify70.0ms (3.3%)

Algorithm
egg-herbie
Rules
784×log-prod_binary64
583×exp-prod_binary64
356×exp-sum_binary64
304×log-pow_binary64
258×sqr-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03214294968845
16761500
222491500
361451500
Stop Event
node limit
Counts
167 → 184
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(+.f64 0 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 1)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)
(*.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 9))
(*.f64 (cbrt.f64 y) (*.f64 3 (*.f64 (cbrt.f64 y) 3)))
(*.f64 3 (*.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 3)))
(*.f64 (*.f64 (cbrt.f64 y) 3) (*.f64 (cbrt.f64 y) 3))
(*.f64 1 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(*.f64 (pow.f64 (cbrt.f64 y) 2) 9)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 (*.f64 (cbrt.f64 y) 9) (cbrt.f64 y))
(*.f64 (pow.f64 (*.f64 27 y) 1/6) (sqrt.f64 (*.f64 27 y)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (pow.f64 (*.f64 27 y) 1/6))
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 y)) 3)
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) 3) (cbrt.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 5) (cbrt.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) 1) (cbrt.f64 y))
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 y 1/6)) (pow.f64 y 1/6))
(pow.f64 (pow.f64 (*.f64 27 y) 2) 1/3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)
(pow.f64 (*.f64 (cbrt.f64 y) 3) 2)
(pow.f64 (pow.f64 (*.f64 27 y) 4) 1/6)
(pow.f64 (pow.f64 (*.f64 27 y) 6) 1/9)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4) 1/2)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 6)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3)
(pow.f64 (*.f64 27 y) 2/3)
(pow.f64 (pow.f64 (*.f64 27 y) 1/6) 4)
(pow.f64 (exp.f64 1/3) (log.f64 (pow.f64 (*.f64 27 y) 2)))
(pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4))
(log.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 2))
(+.f64 0 (cbrt.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (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))
(pow.f64 y 1/3)
(pow.f64 (cbrt.f64 y) 1)
(pow.f64 (*.f64 y y) 1/6)
(pow.f64 (pow.f64 y 3) 1/9)
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)
(pow.f64 (sqrt.f64 y) 2/3)
(pow.f64 (pow.f64 y 1/6) 2)
(pow.f64 (exp.f64 1/3) (log.f64 y))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 y))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 y))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 y)))) (sqrt.f64 (log.f64 (cbrt.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 y) 2))
(log.f64 (exp.f64 (cbrt.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 y))))
(expm1.f64 (log1p.f64 (cbrt.f64 y)))
(log1p.f64 (expm1.f64 (cbrt.f64 y)))
(exp.f64 (log.f64 (cbrt.f64 y)))
(exp.f64 (*.f64 (log.f64 y) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 y))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 y)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 y) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 y) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1) 1))
(+.f64 0 (*.f64 (cbrt.f64 y) 3))
(+.f64 (log.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) 2)) (cbrt.f64 y))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3))) 1)
(pow.f64 (pow.f64 (*.f64 27 y) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1/2)
(pow.f64 (*.f64 (cbrt.f64 y) 3) 1)
(pow.f64 (pow.f64 (*.f64 27 y) 6) 1/18)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 3)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3/2)
(pow.f64 (*.f64 27 y) 1/3)
(pow.f64 (pow.f64 (*.f64 27 y) 1/6) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (cbrt.f64 y) 3)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))) 2)) (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))) (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(fabs.f64 (*.f64 (cbrt.f64 y) 3))
(log.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 y) 3))))
(cbrt.f64 (*.f64 27 y))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3)))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 y) 3)))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/6))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 27 y)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 1/6)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 1))
(+.f64 0 (*.f64 x (*.f64 27 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 27 y)))) 1)
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 27 y))))
(pow.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 x)) 3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 27 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1) 1))
Outputs
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (*.f64 (cbrt.f64 729) x) (cbrt.f64 -1))))
(*.f64 (*.f64 y (cbrt.f64 -1)) (*.f64 (*.f64 (cbrt.f64 729) x) -3))
(*.f64 (*.f64 (cbrt.f64 729) (*.f64 x (cbrt.f64 -1))) (*.f64 y -3))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (*.f64 (cbrt.f64 729) x) (cbrt.f64 -1))))
(*.f64 (*.f64 y (cbrt.f64 -1)) (*.f64 (*.f64 (cbrt.f64 729) x) -3))
(*.f64 (*.f64 (cbrt.f64 729) (*.f64 x (cbrt.f64 -1))) (*.f64 y -3))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (*.f64 (cbrt.f64 729) x) (cbrt.f64 -1))))
(*.f64 (*.f64 y (cbrt.f64 -1)) (*.f64 (*.f64 (cbrt.f64 729) x) -3))
(*.f64 (*.f64 (cbrt.f64 729) (*.f64 x (cbrt.f64 -1))) (*.f64 y -3))
(*.f64 -3 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 729) x))))
(*.f64 -3 (*.f64 y (*.f64 (*.f64 (cbrt.f64 729) x) (cbrt.f64 -1))))
(*.f64 (*.f64 y (cbrt.f64 -1)) (*.f64 (*.f64 (cbrt.f64 729) x) -3))
(*.f64 (*.f64 (cbrt.f64 729) (*.f64 x (cbrt.f64 -1))) (*.f64 y -3))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(+.f64 0 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 1)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 9))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (cbrt.f64 y) (*.f64 3 (*.f64 (cbrt.f64 y) 3)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 3 (*.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 y) 3)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (*.f64 (cbrt.f64 y) 3) (*.f64 (cbrt.f64 y) 3))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 1 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (pow.f64 (cbrt.f64 y) 2) 9)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4))
(*.f64 (cbrt.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2))) (pow.f64 (cbrt.f64 (*.f64 3 (cbrt.f64 y))) 4))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 3 (cbrt.f64 y)) 2)) (pow.f64 (cbrt.f64 (*.f64 3 (cbrt.f64 y))) 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 4) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 (cbrt.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2))) (pow.f64 (cbrt.f64 (*.f64 3 (cbrt.f64 y))) 4))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 3 (cbrt.f64 y)) 2)) (pow.f64 (cbrt.f64 (*.f64 3 (cbrt.f64 y))) 4))
(*.f64 (*.f64 (cbrt.f64 y) 9) (cbrt.f64 y))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (pow.f64 (*.f64 27 y) 1/6) (sqrt.f64 (*.f64 27 y)))
(*.f64 (pow.f64 (*.f64 y 27) 1/6) (sqrt.f64 (*.f64 y 27)))
(*.f64 (sqrt.f64 (*.f64 27 y)) (pow.f64 (*.f64 27 y) 1/6))
(*.f64 (pow.f64 (*.f64 y 27) 1/6) (sqrt.f64 (*.f64 y 27)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 y)) 3)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) 3) (cbrt.f64 y))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 5) (cbrt.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) 1) (cbrt.f64 y))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2)) (cbrt.f64 (cbrt.f64 y)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(*.f64 (*.f64 (*.f64 (cbrt.f64 y) 9) (pow.f64 y 1/6)) (pow.f64 y 1/6))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (pow.f64 (*.f64 27 y) 2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (*.f64 (cbrt.f64 y) 3) 2)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (pow.f64 (*.f64 27 y) 4) 1/6)
(pow.f64 (pow.f64 (*.f64 y 27) 4) 1/6)
(pow.f64 (pow.f64 (*.f64 27 y) 6) 1/9)
(*.f64 (pow.f64 (pow.f64 (*.f64 y 27) 6) 1/18) (pow.f64 (pow.f64 (*.f64 y 27) 6) 1/18))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4) 1/2)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 6)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3)
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (*.f64 27 y) 2/3)
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(pow.f64 (pow.f64 (*.f64 27 y) 1/6) 4)
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(pow.f64 (exp.f64 1/3) (log.f64 (pow.f64 (*.f64 27 y) 2)))
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(pow.f64 (exp.f64 1) (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 2)) (cbrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (*.f64 3 (cbrt.f64 y))))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 3 (cbrt.f64 y))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))) (sqrt.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2))))) (sqrt.f64 (log.f64 (*.f64 9 (pow.f64 (cbrt.f64 y) 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 3 (cbrt.f64 y)))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 3 (cbrt.f64 y))))))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 4))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(log.f64 (exp.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3))
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 2))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))) 3))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/3))
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1))
(cbrt.f64 (pow.f64 (*.f64 y 27) 2))
(cbrt.f64 (*.f64 729 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 y 27)) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 2))
(*.f64 9 (pow.f64 (cbrt.f64 y) 2))
(pow.f64 (*.f64 3 (cbrt.f64 y)) 2)
(+.f64 0 (cbrt.f64 y))
(cbrt.f64 y)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 y)))))
(cbrt.f64 y)
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 y))) 1)
(cbrt.f64 y)
(*.f64 (cbrt.f64 y) 1)
(cbrt.f64 y)
(*.f64 1 (cbrt.f64 y))
(cbrt.f64 y)
(*.f64 (cbrt.f64 (cbrt.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2))
(cbrt.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 y)) 2) (cbrt.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(*.f64 (pow.f64 y 1/6) (pow.f64 y 1/6))
(cbrt.f64 y)
(pow.f64 y 1/3)
(cbrt.f64 y)
(pow.f64 (cbrt.f64 y) 1)
(cbrt.f64 y)
(pow.f64 (*.f64 y y) 1/6)
(cbrt.f64 y)
(pow.f64 (pow.f64 y 3) 1/9)
(*.f64 (pow.f64 (pow.f64 y 3) 1/18) (pow.f64 (pow.f64 y 3) 1/18))
(pow.f64 (pow.f64 (cbrt.f64 y) 2) 1/2)
(cbrt.f64 y)
(pow.f64 (cbrt.f64 (cbrt.f64 y)) 3)
(cbrt.f64 y)
(pow.f64 (sqrt.f64 y) 2/3)
(*.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 y 1/6) 2)
(cbrt.f64 y)
(pow.f64 (exp.f64 1/3) (log.f64 y))
(cbrt.f64 y)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 y))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 y))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 y)))) (sqrt.f64 (log.f64 (cbrt.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 y) 2))
(cbrt.f64 y)
(log.f64 (exp.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 y))))
(cbrt.f64 y)
(expm1.f64 (log1p.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(log1p.f64 (expm1.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(exp.f64 (log.f64 (cbrt.f64 y)))
(cbrt.f64 y)
(exp.f64 (*.f64 (log.f64 y) 1/3))
(cbrt.f64 y)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1))
(cbrt.f64 y)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 y))) 3))
(cbrt.f64 y)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 y)) 2))
(cbrt.f64 y)
(exp.f64 (*.f64 (*.f64 (log.f64 y) 1) 1/3))
(cbrt.f64 y)
(exp.f64 (*.f64 (*.f64 (log.f64 y) 1/3) 1))
(cbrt.f64 y)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 y)) 1) 1))
(cbrt.f64 y)
(+.f64 0 (*.f64 (cbrt.f64 y) 3))
(*.f64 3 (cbrt.f64 y))
(+.f64 (log.f64 (pow.f64 (exp.f64 (cbrt.f64 y)) 2)) (cbrt.f64 y))
(*.f64 3 (cbrt.f64 y))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))))
(*.f64 3 (cbrt.f64 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3))) 1)
(*.f64 3 (cbrt.f64 y))
(pow.f64 (pow.f64 (*.f64 27 y) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2) 1/2)
(*.f64 3 (cbrt.f64 y))
(pow.f64 (*.f64 (cbrt.f64 y) 3) 1)
(*.f64 3 (cbrt.f64 y))
(pow.f64 (pow.f64 (*.f64 27 y) 6) 1/18)
(pow.f64 (pow.f64 (*.f64 y 27) 6) 1/18)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3)) 3)
(*.f64 3 (cbrt.f64 y))
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 3/2)
(*.f64 3 (cbrt.f64 y))
(pow.f64 (*.f64 27 y) 1/3)
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(pow.f64 (pow.f64 (*.f64 27 y) 1/6) 2)
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 3 (cbrt.f64 y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))) 2)) (cbrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 3 (cbrt.f64 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 3 (cbrt.f64 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))) (sqrt.f64 (log.f64 (*.f64 (cbrt.f64 y) 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 3 (cbrt.f64 y))))) (sqrt.f64 (log.f64 (*.f64 3 (cbrt.f64 y)))))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2))
(*.f64 3 (cbrt.f64 y))
(fabs.f64 (*.f64 (cbrt.f64 y) 3))
(*.f64 3 (cbrt.f64 y))
(log.f64 (pow.f64 (exp.f64 3) (cbrt.f64 y)))
(*.f64 3 (cbrt.f64 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 y) 3))))
(*.f64 3 (cbrt.f64 y))
(cbrt.f64 (*.f64 27 y))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 3 (cbrt.f64 y))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/6))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1/2))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 y) 3))) 3))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (*.f64 (log.f64 (*.f64 27 y)) 1/3))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 1/6)) 2))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1) 1/6))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 27 y) 2)) 1/3) 1/2))
(pow.f64 (pow.f64 (*.f64 y 27) 2) 1/6)
(cbrt.f64 (*.f64 y 27))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cbrt.f64 y) 3) 2)) 1) 1/2))
(*.f64 3 (cbrt.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 y) 3)) 1) 1))
(*.f64 3 (cbrt.f64 y))
(+.f64 0 (*.f64 x (*.f64 27 y)))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y 27))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y 27)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y 27)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 27 y)))) 1)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2) 1/2)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3) 1/3)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 27 y))) 3)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 27 y))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 (*.f64 (cbrt.f64 y) 3) (cbrt.f64 x)) 3)
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 y 27)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 y 27)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (*.f64 x 27)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (*.f64 x 27)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 27 (*.f64 y x)))) 2)) (cbrt.f64 (log.f64 (*.f64 27 (*.f64 y x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 27 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 y 27))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 y 27)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (*.f64 x 27))))) (sqrt.f64 (log.f64 (*.f64 y (*.f64 x 27)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 27 (*.f64 y x))))) (sqrt.f64 (log.f64 (*.f64 27 (*.f64 y x)))))
(sqrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 2))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 27 y)))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 27 y)))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 27 y))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 27 y))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (log.f64 (*.f64 x (*.f64 27 y))))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (*.f64 27 y)))) 1/3))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 27 y)))) 3))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 27 y)))) 2))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 27 y))) 1) 1))
(*.f64 x (*.f64 y 27))
(*.f64 y (*.f64 x 27))
(*.f64 27 (*.f64 y x))

eval146.0ms (6.9%)

Compiler

Compiled 3197 to 2197 computations (31.3% saved)

prune100.0ms (4.7%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New2142216
Fresh000
Picked011
Done145
Total2157222
Error
0b
Counts
222 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.2b
(*.f64 (*.f64 x 27) y)
0.7b
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
23.9b
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
0.7b
(*.f64 (cbrt.f64 19683) (*.f64 y x))
0.2b
(*.f64 x (*.f64 27 y))
0.2b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 63 to 47 computations (25.4% saved)

localize10.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
1.0b
(cbrt.f64 387420489)
Compiler

Compiled 20 to 13 computations (35% saved)

series5.0ms (0.3%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@0
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
2.0ms
x
@0
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
0.0ms
x
@-inf
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
0.0ms
y
@-inf
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
0.0ms
y
@inf
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))

rewrite44.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
704×pow1_binary64
656×add-log-exp_binary64
656×log1p-expm1-u_binary64
656×expm1-log1p-u_binary64
639×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0814
116013
2182313
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(cbrt.f64 387420489)
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 387420489)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 387420489) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 387420489 1/6) (pow.f64 387420489 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 387420489))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 150094635296999121)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 387420489)) (*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (pow.f64 387420489 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 150094635296999121)) (cbrt.f64 (cbrt.f64 387420489)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (*.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (pow.f64 387420489 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 387420489 1/6) (pow.f64 (cbrt.f64 387420489) 1/4)) (pow.f64 (cbrt.f64 387420489) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (cbrt.f64 387420489))) (cbrt.f64 (pow.f64 387420489 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 387420489 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 387420489) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 387420489 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 150094635296999121) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 387420489)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 150094635296999121))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 387420489)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 387420489)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 387420489)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 387420489)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (cbrt.f64 387420489) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 y) x) (pow.f64 387420489 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 387420489) 3/2) (pow.f64 (*.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (cbrt.f64 387420489) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))))))

simplify43.0ms (2%)

Algorithm
egg-herbie
Rules
661×log-prod_binary64
595×exp-sum_binary64
341×unswap-sqr_binary64
329×distribute-rgt-in_binary64
329×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
080406
1179325
2664244
32150244
45993238
Stop Event
node limit
Counts
33 → 43
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 387420489)) 1)
(*.f64 (cbrt.f64 387420489) 1)
(*.f64 (pow.f64 387420489 1/6) (pow.f64 387420489 1/6))
(*.f64 1 (cbrt.f64 387420489))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 150094635296999121)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (pow.f64 387420489 1/6)))
(*.f64 (cbrt.f64 (cbrt.f64 150094635296999121)) (cbrt.f64 (cbrt.f64 387420489)))
(*.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (*.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (pow.f64 387420489 1/6)))
(*.f64 (*.f64 (pow.f64 387420489 1/6) (pow.f64 (cbrt.f64 387420489) 1/4)) (pow.f64 (cbrt.f64 387420489) 1/4))
(*.f64 (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (cbrt.f64 387420489))) (cbrt.f64 (pow.f64 387420489 1/6)))
(pow.f64 387420489 1/3)
(pow.f64 (cbrt.f64 387420489) 1)
(pow.f64 (pow.f64 387420489 1/6) 2)
(pow.f64 (cbrt.f64 150094635296999121) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 387420489)) 3)
(sqrt.f64 (cbrt.f64 150094635296999121))
(log.f64 (exp.f64 (cbrt.f64 387420489)))
(expm1.f64 (log1p.f64 (cbrt.f64 387420489)))
(log1p.f64 (expm1.f64 (cbrt.f64 387420489)))
(exp.f64 (log.f64 (cbrt.f64 387420489)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 1)
(pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 1)
(pow.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 2)
(sqrt.f64 (*.f64 (cbrt.f64 387420489) (pow.f64 (*.f64 y x) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 y) x) (pow.f64 387420489 1/6)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 387420489) 3/2) (pow.f64 (*.f64 y x) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (cbrt.f64 387420489) 3/2)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
(exp.f64 (log.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 387420489)) 1)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 (cbrt.f64 387420489) 1)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 (pow.f64 387420489 1/6) (pow.f64 387420489 1/6))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 1 (cbrt.f64 387420489))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 150094635296999121)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (pow.f64 387420489 1/6)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (pow.f64 387420489 1/6))))
(*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (cbrt.f64 387420489))))
(*.f64 (pow.f64 387420489 1/6) (*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (pow.f64 387420489 1/6))))
(*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (pow.f64 (cbrt.f64 (cbrt.f64 387420489)) 5/2))
(*.f64 (cbrt.f64 (cbrt.f64 150094635296999121)) (cbrt.f64 (cbrt.f64 387420489)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (cbrt.f64 150094635296999121)))
(*.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (*.f64 (pow.f64 (cbrt.f64 387420489) 1/4) (pow.f64 387420489 1/6)))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 (*.f64 (pow.f64 387420489 1/6) (pow.f64 (cbrt.f64 387420489) 1/4)) (pow.f64 (cbrt.f64 387420489) 1/4))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(*.f64 (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (cbrt.f64 387420489))) (cbrt.f64 (pow.f64 387420489 1/6)))
(*.f64 (cbrt.f64 (cbrt.f64 387420489)) (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (pow.f64 387420489 1/6))))
(*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (*.f64 (pow.f64 387420489 1/6) (cbrt.f64 (cbrt.f64 387420489))))
(*.f64 (pow.f64 387420489 1/6) (*.f64 (cbrt.f64 (cbrt.f64 387420489)) (cbrt.f64 (pow.f64 387420489 1/6))))
(*.f64 (cbrt.f64 (pow.f64 387420489 1/6)) (pow.f64 (cbrt.f64 (cbrt.f64 387420489)) 5/2))
(pow.f64 387420489 1/3)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(pow.f64 (cbrt.f64 387420489) 1)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(pow.f64 (pow.f64 387420489 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(pow.f64 (cbrt.f64 150094635296999121) 1/2)
(sqrt.f64 (cbrt.f64 150094635296999121))
(pow.f64 (cbrt.f64 (cbrt.f64 387420489)) 3)
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(sqrt.f64 (cbrt.f64 150094635296999121))
(log.f64 (exp.f64 (cbrt.f64 387420489)))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(expm1.f64 (log1p.f64 (cbrt.f64 387420489)))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(log1p.f64 (expm1.f64 (cbrt.f64 387420489)))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(exp.f64 (log.f64 (cbrt.f64 387420489)))
(+.f64 (+.f64 1 (cbrt.f64 387420489)) -1)
(+.f64 (cbrt.f64 387420489) 0)
(cbrt.f64 387420489)
(-.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 1)
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 1)
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 3)
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) 2)
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(sqrt.f64 (*.f64 (cbrt.f64 387420489) (pow.f64 (*.f64 y x) 2)))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(log.f64 (pow.f64 (pow.f64 (exp.f64 y) x) (pow.f64 387420489 1/6)))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 3))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 387420489) 3/2) (pow.f64 (*.f64 y x) 3)))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (cbrt.f64 387420489) 3/2)))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))
(exp.f64 (log.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))))
(+.f64 (+.f64 1 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x))) -1)
(+.f64 (*.f64 (pow.f64 387420489 1/6) (*.f64 y x)) 0)
(*.f64 (pow.f64 387420489 1/6) (*.f64 y x))

localize10.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
1.0b
(cbrt.f64 729)
Compiler

Compiled 23 to 17 computations (26.1% saved)

series3.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.0ms
y
@-inf
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.0ms
x
@0
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.0ms
x
@inf
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.0ms
x
@-inf
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))

rewrite45.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
788×pow1_binary64
733×add-log-exp_binary64
733×log1p-expm1-u_binary64
733×expm1-log1p-u_binary64
717×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0915
11828
220728
Stop Event
node limit
Counts
2 → 14
Calls
Call 1
Inputs
(cbrt.f64 729)
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 9)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 x 27)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 x 27))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (*.f64 x 27))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 y (*.f64 x 27))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 9 x) 3) (pow.f64 (*.f64 3 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 3 y) 3) (pow.f64 (*.f64 9 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 x 27))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 x 27))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (*.f64 x 27))))))))

simplify56.0ms (2.7%)

Algorithm
egg-herbie
Rules
549×log-prod_binary64
548×associate-*l*_binary64
521×exp-sum_binary64
492×associate-*r*_binary64
252×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
044458
1112419
2452380
32927380
46288380
Stop Event
node limit
Counts
38 → 21
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
9
(-.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) 1)
(pow.f64 (*.f64 y (*.f64 x 27)) 1)
(pow.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 x 27))) 3)
(pow.f64 (sqrt.f64 (*.f64 y (*.f64 x 27))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 2))
(log.f64 (exp.f64 (*.f64 y (*.f64 x 27))))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 9 x) 3) (pow.f64 (*.f64 3 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 3 y) 3) (pow.f64 (*.f64 9 x) 3)))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 x 27))))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 x 27))))
(exp.f64 (log.f64 (*.f64 y (*.f64 x 27))))
Outputs
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
(*.f64 3 (*.f64 y (*.f64 (cbrt.f64 729) x)))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (cbrt.f64 729) (*.f64 3 (*.f64 y x)))
9
(-.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) 1)
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(pow.f64 (*.f64 y (*.f64 x 27)) 1)
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(pow.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 x 27))) 3)
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(pow.f64 (sqrt.f64 (*.f64 y (*.f64 x 27))) 2)
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(sqrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 2))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(log.f64 (exp.f64 (*.f64 y (*.f64 x 27))))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(cbrt.f64 (pow.f64 (*.f64 y (*.f64 x 27)) 3))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 9 x) 3) (pow.f64 (*.f64 3 y) 3)))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 3 y) 3) (pow.f64 (*.f64 9 x) 3)))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(expm1.f64 (log1p.f64 (*.f64 y (*.f64 x 27))))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(log1p.f64 (expm1.f64 (*.f64 y (*.f64 x 27))))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))
(exp.f64 (log.f64 (*.f64 y (*.f64 x 27))))
(+.f64 (+.f64 1 (*.f64 y (*.f64 x 27))) -1)
(+.f64 (*.f64 y (*.f64 x 27)) 0)
(*.f64 y (*.f64 x 27))
(*.f64 x (*.f64 y 27))

eval21.0ms (1%)

Compiler

Compiled 641 to 471 computations (26.5% saved)

prune10.0ms (0.5%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New63164
Fresh000
Picked011
Done156
Total64771
Error
0b
Counts
71 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
0.2b
(*.f64 (*.f64 x 27) y)
0.3b
(*.f64 (*.f64 9 x) (*.f64 3 y))
0.7b
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
0.7b
(*.f64 (cbrt.f64 19683) (*.f64 y x))
0.2b
(*.f64 x (*.f64 27 y))
0.2b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 57 to 43 computations (24.6% saved)

regimes45.0ms (2.1%)

Accuracy

Total -46.8b remaining (-22208.1%)

Threshold costs -46.8b (-22208.1%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 x 27) y)
(*.f64 (*.f64 9 x) (*.f64 3 y))
(*.f64 (cbrt.f64 19683) (*.f64 y x))
(*.f64 (*.f64 (cbrt.f64 729) x) (*.f64 3 y))
(*.f64 (sqrt.f64 (cbrt.f64 387420489)) (*.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 x (*.f64 27 y)) 3))
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 27 y))) 2)
(*.f64 (cbrt.f64 (*.f64 (*.f64 729 y) y)) (*.f64 x (*.f64 3 (cbrt.f64 y))))
Outputs
(*.f64 27 (*.f64 y x))
Calls

4 calls:

24.0ms
y
6.0ms
(*.f64 x 27)
5.0ms
x
5.0ms
(*.f64 (*.f64 x 27) y)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1(*.f64 (*.f64 x 27) y)
0.2b1(*.f64 x 27)
Compiler

Compiled 92 to 63 computations (31.5% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
187
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
Outputs
(*.f64 27 (*.f64 y x))
Compiler

Compiled 7 to 5 computations (28.6% saved)

soundness8.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
1107
2177
3197
Stop Event
saturated
Compiler

Compiled 14 to 10 computations (28.6% saved)

end12.0ms (0.6%)

Remove

(sort x y)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...