Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, F

Time bar (total: 2.8s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 7 to 6 computations (14.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-div, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.2s (41.4%)

Results
1.1s8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 206.0ms
Operation ival-div, time spent: 133.0ms, 65.0% of total-time
Operation ival-add, time spent: 56.0ms, 27.0% of total-time
Operation const, time spent: 17.0ms, 8.0% of total-time
Bogosity

preprocess118.0ms (4.2%)

Algorithm
egg-herbie
Rules
58×fma-neg
24×fma-define
18×distribute-lft-neg-in
16×associate--r+
16×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(+.f64 x (/.f64 1 3))
00-0-3
00-0-(/.f64 1 3)
00-0-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01452
13040
25440
39540
413540
516340
617340
718140
818640
918740
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 1 3))
(+.f64 x (/.f64 1 3))
(+.f64 (neg.f64 x) (/.f64 1 3))
(neg.f64 (+.f64 (neg.f64 x) (/.f64 1 3)))
Outputs
(+.f64 x (/.f64 1 3))
(+.f64 x 1/3)
(+.f64 x (/.f64 1 3))
(+.f64 x 1/3)
(+.f64 (neg.f64 x) (/.f64 1 3))
(+.f64 1/3 (neg.f64 x))
(-.f64 1/3 x)
(neg.f64 (+.f64 (neg.f64 x) (/.f64 1 3)))
(+.f64 (neg.f64 (neg.f64 x)) -1/3)
(+.f64 x -1/3)
Compiler

Compiled 32 to 27 computations (15.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
Operation ival-div, time spent: 9.0ms, 66.0% of total-time
Operation ival-add, time spent: 3.0ms, 22.0% of total-time
Operation const, time spent: 2.0ms, 15.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 4 to 3 computations (25% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x 1/3)
Compiler

Compiled 4 to 3 computations (25% saved)

localize21.0ms (0.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 x 1/3)
Compiler

Compiled 7 to 5 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
Operation ival-add, time spent: 2.0ms, 84.0% of total-time
Operation const, time spent: 1.0ms, 42.0% of total-time

series1.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (+.f64 x 1/3)>
Outputs
#<alt 1/3>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt x>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt x>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+ x 1/3)
0.0ms
x
@-inf
(+ x 1/3)
0.0ms
x
@0
(+ x 1/3)

rewrite188.0ms (6.6%)

Algorithm
batch-egg-rewrite
Rules
928×frac-times
388×unpow-prod-down
283×log1p-expm1-u
283×expm1-log1p-u
269×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
16010
275010
Stop Event
node limit
Counts
1 → 72
Calls
Call 1
Inputs
(+.f64 x 1/3)
Outputs
(-.f64 (+.f64 1 (+.f64 x 1/3)) 1)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(*.f64 (+.f64 x 1/3) 1)
(*.f64 (+.f64 x 1/3) (log.f64 (E.f64)))
(*.f64 1 (+.f64 x 1/3))
(*.f64 (cbrt.f64 (+.f64 x 1/3)) (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2) (cbrt.f64 (+.f64 x 1/3)))
(*.f64 (sqrt.f64 (+.f64 x 1/3)) (sqrt.f64 (+.f64 x 1/3)))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(*.f64 (fma.f64 x x -1/9) (/.f64 1 (+.f64 x -1/3)))
(*.f64 (pow.f64 (+.f64 x 1/3) 1/4) (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)))
(*.f64 (pow.f64 1 1/3) (+.f64 x 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (pow.f64 (pow.f64 (+.f64 x 1/3) 5/2) 1/3) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 x 1/3) 5/2)) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)) (pow.f64 (+.f64 x 1/3) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 5)) (pow.f64 (+.f64 x 1/3) 1/6))
(/.f64 1 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)))
(/.f64 1 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3))))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3)))))
(/.f64 (neg.f64 (fma.f64 x x -1/9)) (neg.f64 (+.f64 x -1/3)))
(/.f64 (-.f64 1/9 (pow.f64 x 2)) (-.f64 1/3 x))
(/.f64 -1 (neg.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27))))
(/.f64 -1 (neg.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (+.f64 (pow.f64 x 3) 1/27))) (cbrt.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (fma.f64 x x -1/9))) (cbrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 x -1/3))))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (+.f64 (pow.f64 x 3) 1/27))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (fma.f64 x x -1/9))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 x 1/3))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 x 1/3))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) (+.f64 x -1/3)) (*.f64 (+.f64 x -1/3) 1/9)) (pow.f64 (+.f64 x -1/3) 2))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (+.f64 (pow.f64 x 4) (+.f64 1/81 (*.f64 (pow.f64 x 2) 1/9))) (+.f64 x -1/3)))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (-.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) 1/81) 1) (*.f64 (fma.f64 x x 1/9) (+.f64 x -1/3)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27))) (*.f64 (sqrt.f64 (+.f64 x -1/3)) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (sqrt.f64 (fma.f64 x x -1/9))) (*.f64 (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))) (sqrt.f64 (+.f64 x -1/3))))
(/.f64 (*.f64 (+.f64 (pow.f64 x 9) 1/19683) 1) (*.f64 (+.f64 (pow.f64 x 6) (-.f64 1/729 (*.f64 (pow.f64 x 3) 1/27))) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27))) (neg.f64 (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 x x -1/9))) (neg.f64 (neg.f64 (+.f64 x -1/3))))
(/.f64 (neg.f64 (-.f64 1/9 (pow.f64 x 2))) (neg.f64 (-.f64 1/3 x)))
(pow.f64 (+.f64 x 1/3) 1)
(pow.f64 (cbrt.f64 (+.f64 x 1/3)) 3)
(pow.f64 (pow.f64 (+.f64 x 1/3) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 x 1/3) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x 1/3)) 2)
(pow.f64 (E.f64) (log.f64 (+.f64 x 1/3)))
(pow.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)) -1)
(pow.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (log.f64 (+.f64 x 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x 1/3)))) (sqrt.f64 (log.f64 (+.f64 x 1/3))))
(sqrt.f64 (pow.f64 (+.f64 x 1/3) 2))
(fabs.f64 (+.f64 x 1/3))
(log.f64 (exp.f64 (+.f64 x 1/3)))
(cbrt.f64 (pow.f64 (+.f64 x 1/3) 3))
(expm1.f64 (log1p.f64 (+.f64 x 1/3)))
(log1p.f64 (expm1.f64 (+.f64 x 1/3)))
(exp.f64 (log.f64 (+.f64 x 1/3)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x 1/3))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 x 1/3))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x 1/3))) 2))
(fma.f64 x 1 1/3)
(fma.f64 1 x 1/3)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)

simplify89.0ms (3.1%)

Algorithm
egg-herbie
Rules
920×div-sub
890×times-frac
846×distribute-lft-neg-in
774×fma-neg
670×distribute-rgt-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02342891
15362569
218352481
352812481
Stop Event
node limit
Counts
84 → 112
Calls
Call 1
Inputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(-.f64 (+.f64 1 (+.f64 x 1/3)) 1)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(*.f64 (+.f64 x 1/3) 1)
(*.f64 (+.f64 x 1/3) (log.f64 (E.f64)))
(*.f64 1 (+.f64 x 1/3))
(*.f64 (cbrt.f64 (+.f64 x 1/3)) (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2) (cbrt.f64 (+.f64 x 1/3)))
(*.f64 (sqrt.f64 (+.f64 x 1/3)) (sqrt.f64 (+.f64 x 1/3)))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(*.f64 (fma.f64 x x -1/9) (/.f64 1 (+.f64 x -1/3)))
(*.f64 (pow.f64 (+.f64 x 1/3) 1/4) (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)))
(*.f64 (pow.f64 1 1/3) (+.f64 x 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (pow.f64 (pow.f64 (+.f64 x 1/3) 5/2) 1/3) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 x 1/3) 5/2)) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)) (pow.f64 (+.f64 x 1/3) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 5)) (pow.f64 (+.f64 x 1/3) 1/6))
(/.f64 1 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)))
(/.f64 1 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3))))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3)))))
(/.f64 (neg.f64 (fma.f64 x x -1/9)) (neg.f64 (+.f64 x -1/3)))
(/.f64 (-.f64 1/9 (pow.f64 x 2)) (-.f64 1/3 x))
(/.f64 -1 (neg.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27))))
(/.f64 -1 (neg.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (+.f64 (pow.f64 x 3) 1/27))) (cbrt.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (fma.f64 x x -1/9))) (cbrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 x -1/3))))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (+.f64 (pow.f64 x 3) 1/27))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (fma.f64 x x -1/9))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 x 1/3))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 x 1/3))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) (+.f64 x -1/3)) (*.f64 (+.f64 x -1/3) 1/9)) (pow.f64 (+.f64 x -1/3) 2))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (+.f64 (pow.f64 x 4) (+.f64 1/81 (*.f64 (pow.f64 x 2) 1/9))) (+.f64 x -1/3)))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (-.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) 1/81) 1) (*.f64 (fma.f64 x x 1/9) (+.f64 x -1/3)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27))) (*.f64 (sqrt.f64 (+.f64 x -1/3)) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (sqrt.f64 (fma.f64 x x -1/9))) (*.f64 (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))) (sqrt.f64 (+.f64 x -1/3))))
(/.f64 (*.f64 (+.f64 (pow.f64 x 9) 1/19683) 1) (*.f64 (+.f64 (pow.f64 x 6) (-.f64 1/729 (*.f64 (pow.f64 x 3) 1/27))) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27))) (neg.f64 (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 x x -1/9))) (neg.f64 (neg.f64 (+.f64 x -1/3))))
(/.f64 (neg.f64 (-.f64 1/9 (pow.f64 x 2))) (neg.f64 (-.f64 1/3 x)))
(pow.f64 (+.f64 x 1/3) 1)
(pow.f64 (cbrt.f64 (+.f64 x 1/3)) 3)
(pow.f64 (pow.f64 (+.f64 x 1/3) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 x 1/3) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x 1/3)) 2)
(pow.f64 (E.f64) (log.f64 (+.f64 x 1/3)))
(pow.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)) -1)
(pow.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (log.f64 (+.f64 x 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x 1/3)))) (sqrt.f64 (log.f64 (+.f64 x 1/3))))
(sqrt.f64 (pow.f64 (+.f64 x 1/3) 2))
(fabs.f64 (+.f64 x 1/3))
(log.f64 (exp.f64 (+.f64 x 1/3)))
(cbrt.f64 (pow.f64 (+.f64 x 1/3) 3))
(expm1.f64 (log1p.f64 (+.f64 x 1/3)))
(log1p.f64 (expm1.f64 (+.f64 x 1/3)))
(exp.f64 (log.f64 (+.f64 x 1/3)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x 1/3))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 x 1/3))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x 1/3))) 2))
(fma.f64 x 1 1/3)
(fma.f64 1 x 1/3)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)
Outputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(-.f64 (+.f64 1 (+.f64 x 1/3)) 1)
(+.f64 1/3 x)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(*.f64 (+.f64 x 1/3) 1)
(+.f64 1/3 x)
(*.f64 (+.f64 x 1/3) (log.f64 (E.f64)))
(+.f64 1/3 x)
(*.f64 1 (+.f64 x 1/3))
(+.f64 1/3 x)
(*.f64 (cbrt.f64 (+.f64 x 1/3)) (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2))
(+.f64 1/3 x)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 2) (cbrt.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(*.f64 (sqrt.f64 (+.f64 x 1/3)) (sqrt.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(*.f64 (fma.f64 x x -1/9) (/.f64 1 (+.f64 x -1/3)))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(*.f64 (pow.f64 (+.f64 x 1/3) 1/4) (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)))
(*.f64 (pow.f64 (+.f64 1/3 x) 1/4) (sqrt.f64 (pow.f64 (+.f64 1/3 x) 3/2)))
(*.f64 (pow.f64 1 1/3) (+.f64 x 1/3))
(+.f64 1/3 x)
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 1/3 x) (cbrt.f64 (+.f64 1/3 x))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 1/3 x)) 4) 2)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 1/3 x)) 8)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (+.f64 x 1/3) 5/2) 1/3) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 1/3 x) 5/2)) (pow.f64 (+.f64 1/3 x) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 x 1/3) (cbrt.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 x 1/3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 1/3 x) (cbrt.f64 (+.f64 1/3 x))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 1/3 x)) 4) 2)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 1/3 x)) 8)) (cbrt.f64 (cbrt.f64 (+.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 x 1/3) 5/2)) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 1/3 x) 5/2)) (pow.f64 (+.f64 1/3 x) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 x 1/3) 3/2)) (pow.f64 (+.f64 x 1/3) 1/4))
(*.f64 (pow.f64 (+.f64 1/3 x) 1/4) (sqrt.f64 (pow.f64 (+.f64 1/3 x) 3/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 x 1/3)) 5)) (pow.f64 (+.f64 x 1/3) 1/6))
(*.f64 (pow.f64 (+.f64 1/3 x) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 1/3 x)) 5)))
(/.f64 1 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 1 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27)) (neg.f64 (+.f64 1/9 (-.f64 (pow.f64 x 2) (*.f64 x 1/3)))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 (neg.f64 (fma.f64 x x -1/9)) (neg.f64 (+.f64 x -1/3)))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (-.f64 1/9 (pow.f64 x 2)) (-.f64 1/3 x))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 -1 (neg.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 -1 (neg.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9))))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (+.f64 (pow.f64 x 3) 1/27))) (cbrt.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (pow.f64 (+.f64 1/3 x) 2))) (cbrt.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (pow.f64 (+.f64 1/3 x) 2))) (cbrt.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (pow.f64 (+.f64 1/3 x) 2))) (cbrt.f64 (fma.f64 x (+.f64 x -1/3) 1/9)))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1/3) 2) (fma.f64 x x -1/9))) (cbrt.f64 (+.f64 x -1/3)))
(/.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1/9) (pow.f64 (+.f64 1/3 x) 2))) (cbrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 x -1/3))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (fma.f64 x (+.f64 x -1/3) 1/9))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (fma.f64 x (-.f64 1/3 x) -1/9) (-.f64 1/3 x))))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (+.f64 x -1/3) (fma.f64 x (+.f64 x -1/3) 1/9))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x -1/9))) (sqrt.f64 (*.f64 (fma.f64 x (-.f64 1/3 x) -1/9) (-.f64 1/3 x))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (+.f64 (pow.f64 x 3) 1/27))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 1/3 x)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (fma.f64 x (+.f64 x -1/3) 1/9)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 x 1/3) (fma.f64 x x -1/9))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (fma.f64 x x -1/9))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 x 1/3))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 1/3 x)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (+.f64 (pow.f64 x 3) 1/27))) (sqrt.f64 (fma.f64 x (+.f64 x -1/3) 1/9)))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1/9) (+.f64 x 1/3))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 1/3 x) (fma.f64 x x -1/9))) (sqrt.f64 (+.f64 x -1/3)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) (+.f64 x -1/3)) (*.f64 (+.f64 x -1/3) 1/9)) (pow.f64 (+.f64 x -1/3) 2))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (+.f64 (pow.f64 x 4) (+.f64 1/81 (*.f64 (pow.f64 x 2) 1/9))) (+.f64 x -1/3)))
(/.f64 (+.f64 (pow.f64 x 6) -1/729) (*.f64 (+.f64 x -1/3) (+.f64 (pow.f64 x 4) (+.f64 1/81 (*.f64 (pow.f64 x 2) 1/9)))))
(/.f64 (+.f64 (pow.f64 x 6) -1/729) (*.f64 (+.f64 x -1/3) (+.f64 (pow.f64 x 4) (fma.f64 (pow.f64 x 2) 1/9 1/81))))
(/.f64 (*.f64 (-.f64 (pow.f64 x 6) 1/729) 1) (*.f64 (-.f64 (pow.f64 x 3) 1/27) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 6) -1/729) (*.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x)) (+.f64 (pow.f64 x 3) -1/27)))
(/.f64 (+.f64 (pow.f64 x 6) -1/729) (*.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3))) (+.f64 (pow.f64 x 3) -1/27)))
(/.f64 (+.f64 (pow.f64 x 6) -1/729) (*.f64 (fma.f64 x (+.f64 x -1/3) 1/9) (+.f64 (pow.f64 x 3) -1/27)))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) 1/81) 1) (*.f64 (fma.f64 x x 1/9) (+.f64 x -1/3)))
(/.f64 (+.f64 (pow.f64 x 4) -1/81) (*.f64 (+.f64 x -1/3) (fma.f64 x x 1/9)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27))) (*.f64 (sqrt.f64 (+.f64 x -1/3)) (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3))))))
(*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (*.f64 (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 1/3 x)))) (sqrt.f64 (+.f64 x -1/3)))))
(*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (*.f64 (sqrt.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))) (sqrt.f64 (+.f64 x -1/3)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (sqrt.f64 (+.f64 x -1/3)))) (sqrt.f64 (fma.f64 x (+.f64 x -1/3) 1/9)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (sqrt.f64 (fma.f64 x x -1/9))) (*.f64 (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 x 1/3)))) (sqrt.f64 (+.f64 x -1/3))))
(*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (*.f64 (hypot.f64 x (sqrt.f64 (-.f64 1/9 (*.f64 1/3 x)))) (sqrt.f64 (+.f64 x -1/3)))))
(*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (*.f64 (sqrt.f64 (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))) (sqrt.f64 (+.f64 x -1/3)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -1/9)) (/.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 1/27)) (sqrt.f64 (+.f64 x -1/3)))) (sqrt.f64 (fma.f64 x (+.f64 x -1/3) 1/9)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 9) 1/19683) 1) (*.f64 (+.f64 (pow.f64 x 6) (-.f64 1/729 (*.f64 (pow.f64 x 3) 1/27))) (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 9) 1/19683) (*.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x)) (+.f64 (pow.f64 x 6) (-.f64 1/729 (*.f64 (pow.f64 x 3) 1/27)))))
(/.f64 (/.f64 (+.f64 (pow.f64 x 9) 1/19683) (+.f64 1/9 (*.f64 x (-.f64 x 1/3)))) (+.f64 (+.f64 (pow.f64 x 6) 1/729) (*.f64 (pow.f64 x 3) -1/27)))
(/.f64 (+.f64 (pow.f64 x 9) 1/19683) (*.f64 (fma.f64 x (+.f64 x -1/3) 1/9) (+.f64 (pow.f64 x 6) (fma.f64 (pow.f64 x 3) -1/27 1/729))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 x 3) 1/27))) (neg.f64 (neg.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)))))
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(/.f64 (neg.f64 (neg.f64 (fma.f64 x x -1/9))) (neg.f64 (neg.f64 (+.f64 x -1/3))))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (neg.f64 (-.f64 1/9 (pow.f64 x 2))) (neg.f64 (-.f64 1/3 x)))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(pow.f64 (+.f64 x 1/3) 1)
(+.f64 1/3 x)
(pow.f64 (cbrt.f64 (+.f64 x 1/3)) 3)
(+.f64 1/3 x)
(pow.f64 (pow.f64 (+.f64 x 1/3) 2) 1/2)
(+.f64 1/3 x)
(pow.f64 (pow.f64 (+.f64 x 1/3) 3) 1/3)
(+.f64 1/3 x)
(pow.f64 (sqrt.f64 (+.f64 x 1/3)) 2)
(+.f64 1/3 x)
(pow.f64 (E.f64) (log.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(pow.f64 (/.f64 (-.f64 (fma.f64 x x 1/9) (*.f64 x 1/3)) (+.f64 (pow.f64 x 3) 1/27)) -1)
(*.f64 (+.f64 (pow.f64 x 3) 1/27) (/.f64 1 (-.f64 (fma.f64 x x 1/9) (*.f64 1/3 x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (-.f64 x 1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x (+.f64 x -1/3) 1/9))
(/.f64 (-.f64 -1/27 (pow.f64 x 3)) (fma.f64 x (-.f64 1/3 x) -1/9))
(pow.f64 (/.f64 (+.f64 x -1/3) (fma.f64 x x -1/9)) -1)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x -1/3)) (/.f64 1/9 (+.f64 x -1/3)))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x 1/3))) 2)) (cbrt.f64 (log.f64 (+.f64 x 1/3))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 1/3 x))) 2)) (cbrt.f64 (log.f64 (+.f64 1/3 x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x 1/3)))) (sqrt.f64 (log.f64 (+.f64 x 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 1/3 x)))) (sqrt.f64 (log.f64 (+.f64 1/3 x))))
(sqrt.f64 (pow.f64 (+.f64 x 1/3) 2))
(+.f64 1/3 x)
(fabs.f64 (+.f64 x 1/3))
(+.f64 1/3 x)
(log.f64 (exp.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(cbrt.f64 (pow.f64 (+.f64 x 1/3) 3))
(+.f64 1/3 x)
(expm1.f64 (log1p.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(log1p.f64 (expm1.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(exp.f64 (log.f64 (+.f64 x 1/3)))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x 1/3))) 3))
(+.f64 1/3 x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 x 1/3))) 1/3))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x 1/3))) 2))
(+.f64 1/3 x)
(fma.f64 x 1 1/3)
(+.f64 1/3 x)
(fma.f64 1 x 1/3)
(+.f64 1/3 x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)
(+.f64 1/3 x)

eval36.0ms (1.3%)

Compiler

Compiled 1558 to 1211 computations (22.3% saved)

prune262.0ms (9.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1093112
Fresh000
Picked011
Done000
Total1094113
Accuracy
100.0%
Counts
113 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x 1/3)
99.8%
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
53.9%
x
46.4%
1/3
Compiler

Compiled 18 to 14 computations (22.2% saved)

localize177.0ms (6.3%)

Localize:

Found 2 expressions with local error:

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

Compiled 31 to 24 computations (22.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 142.0ms
Operation ival-div, time spent: 126.0ms, 88.0% of total-time
Operation ival-mult, time spent: 12.0ms, 8.0% of total-time
Operation ival-add, time spent: 3.0ms, 2.0% of total-time
Operation const, time spent: 2.0ms, 1.0% of total-time

series4.0ms (0.1%)

Counts
2 → 18
Calls
Call 1
Inputs
#<alt (*.f64 1/3 (/.f64 1 x))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
Outputs
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt (/.f64 1/3 x)>
#<alt 1/3>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt x>
#<alt x>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(* x (+ 1 (* 1/3 (/ 1 x))))
0.0ms
x
@inf
(* 1/3 (/ 1 x))
0.0ms
x
@0
(* x (+ 1 (* 1/3 (/ 1 x))))
0.0ms
x
@-inf
(* x (+ 1 (* 1/3 (/ 1 x))))
0.0ms
x
@0
(* 1/3 (/ 1 x))

rewrite84.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
1216×unpow-prod-down
842×prod-diff
632×log-prod
614×log1p-expm1-u
614×expm1-log1p-u
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01135
113635
2180434
Stop Event
node limit
Counts
2 → 99
Calls
Call 1
Inputs
(*.f64 1/3 (/.f64 1 x))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
Outputs
(+.f64 0 (/.f64 1/3 x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) (cbrt.f64 (exp.f64 (/.f64 1/3 x))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(-.f64 (+.f64 1 (/.f64 1/3 x)) 1)
(/.f64 1/3 x)
(/.f64 1 (/.f64 x 1/3))
(/.f64 -1/3 (neg.f64 x))
(/.f64 (/.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(/.f64 (/.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x))
(pow.f64 (/.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(pow.f64 (/.f64 1/27 (pow.f64 x 3)) 1/3)
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(pow.f64 (/.f64 x 1/3) -1)
(sqrt.f64 (/.f64 1/9 (pow.f64 x 2)))
(log.f64 (exp.f64 (/.f64 1/3 x)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/3 x))))
(cbrt.f64 (/.f64 1/27 (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(exp.f64 (log.f64 (/.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 1/3 x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(fma.f64 1 (+.f64 1 (/.f64 1/3 x)) -1)
(fma.f64 (+.f64 1 (/.f64 1/3 x)) 1 -1)
(fma.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(+.f64 x (*.f64 x (/.f64 1/3 x)))
(+.f64 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 0 (fma.f64 x (/.f64 1/3 x) x))
(+.f64 (*.f64 x (/.f64 1/3 x)) x)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))) (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x))) 1)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (/.f64 1/3 x)) 3)) (fma.f64 x x (-.f64 (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x))) (*.f64 x (*.f64 x (/.f64 1/3 x))))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x)))) (-.f64 x (*.f64 x (/.f64 1/3 x))))
(/.f64 (*.f64 x (fma.f64 (pow.f64 x -3) 1/27 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 x (-.f64 1 (/.f64 1/9 (pow.f64 x 2)))) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) x) (-.f64 1 (/.f64 1/3 x)))
(pow.f64 (fma.f64 x (/.f64 1/3 x) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 3)
(pow.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 2))
(log.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 x (/.f64 1/3 x)))))
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (exp.f64 x)))
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x)))
(log1p.f64 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x)))
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 2))
(fma.f64 1/3 (*.f64 (/.f64 1 x) x) x)
(fma.f64 1 x (*.f64 x (/.f64 1/3 x)))
(fma.f64 1 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 1 (*.f64 x (/.f64 1/3 x)) x)
(fma.f64 x 1 (*.f64 x (/.f64 1/3 x)))
(fma.f64 x 1 (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 x (/.f64 1/3 x) x)
(fma.f64 (/.f64 1 x) (*.f64 1/3 x) x)
(fma.f64 (/.f64 1/3 x) x x)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (/.f64 1/3 x))) (cbrt.f64 (*.f64 x (/.f64 1/3 x)))) (cbrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(fma.f64 (sqrt.f64 (*.f64 x (/.f64 1/3 x))) (sqrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) x)
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) x)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(fma.f64 (*.f64 x (/.f64 1 x)) 1/3 x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)

simplify113.0ms (4%)

Algorithm
egg-herbie
Rules
1588×fma-neg
1132×prod-exp
886×associate-*l*
872×associate-*r*
536×fma-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02271833
14781659
212711620
351161616
Stop Event
node limit
Counts
117 → 125
Calls
Call 1
Inputs
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
x
(+.f64 0 (/.f64 1/3 x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) (cbrt.f64 (exp.f64 (/.f64 1/3 x))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(-.f64 (+.f64 1 (/.f64 1/3 x)) 1)
(/.f64 1/3 x)
(/.f64 1 (/.f64 x 1/3))
(/.f64 -1/3 (neg.f64 x))
(/.f64 (/.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(/.f64 (/.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x))
(pow.f64 (/.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(pow.f64 (/.f64 1/27 (pow.f64 x 3)) 1/3)
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(pow.f64 (/.f64 x 1/3) -1)
(sqrt.f64 (/.f64 1/9 (pow.f64 x 2)))
(log.f64 (exp.f64 (/.f64 1/3 x)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/3 x))))
(cbrt.f64 (/.f64 1/27 (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(exp.f64 (log.f64 (/.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 1/3 x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(fma.f64 1 (+.f64 1 (/.f64 1/3 x)) -1)
(fma.f64 (+.f64 1 (/.f64 1/3 x)) 1 -1)
(fma.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(+.f64 x (*.f64 x (/.f64 1/3 x)))
(+.f64 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 0 (fma.f64 x (/.f64 1/3 x) x))
(+.f64 (*.f64 x (/.f64 1/3 x)) x)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))) (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x))) 1)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (/.f64 1/3 x)) 3)) (fma.f64 x x (-.f64 (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x))) (*.f64 x (*.f64 x (/.f64 1/3 x))))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x)))) (-.f64 x (*.f64 x (/.f64 1/3 x))))
(/.f64 (*.f64 x (fma.f64 (pow.f64 x -3) 1/27 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 x (-.f64 1 (/.f64 1/9 (pow.f64 x 2)))) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) x) (-.f64 1 (/.f64 1/3 x)))
(pow.f64 (fma.f64 x (/.f64 1/3 x) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 3)
(pow.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 2))
(log.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 x (/.f64 1/3 x)))))
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (exp.f64 x)))
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x)))
(log1p.f64 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x)))
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 2))
(fma.f64 1/3 (*.f64 (/.f64 1 x) x) x)
(fma.f64 1 x (*.f64 x (/.f64 1/3 x)))
(fma.f64 1 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 1 (*.f64 x (/.f64 1/3 x)) x)
(fma.f64 x 1 (*.f64 x (/.f64 1/3 x)))
(fma.f64 x 1 (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 x (/.f64 1/3 x) x)
(fma.f64 (/.f64 1 x) (*.f64 1/3 x) x)
(fma.f64 (/.f64 1/3 x) x x)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (/.f64 1/3 x))) (cbrt.f64 (*.f64 x (/.f64 1/3 x)))) (cbrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(fma.f64 (sqrt.f64 (*.f64 x (/.f64 1/3 x))) (sqrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) x)
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) x)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(fma.f64 (*.f64 x (/.f64 1 x)) 1/3 x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)
Outputs
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1/3 x)
1/3
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 1/3 x)
(+.f64 x 1/3)
x
x
(+.f64 0 (/.f64 1/3 x))
(/.f64 1/3 x)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) (cbrt.f64 (exp.f64 (/.f64 1/3 x))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(*.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) 2)
(-.f64 (+.f64 1 (/.f64 1/3 x)) 1)
(/.f64 1/3 x)
(/.f64 1/3 x)
(/.f64 1 (/.f64 x 1/3))
(/.f64 1/3 x)
(/.f64 -1/3 (neg.f64 x))
(/.f64 1/3 x)
(/.f64 (/.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(/.f64 1/3 x)
(/.f64 (/.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 1/3 x)
(pow.f64 (/.f64 1/3 x) 1)
(/.f64 1/3 x)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(/.f64 1/3 x)
(pow.f64 (/.f64 1/27 (pow.f64 x 3)) 1/3)
(/.f64 1/3 x)
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(/.f64 1/3 x)
(pow.f64 (/.f64 x 1/3) -1)
(/.f64 1/3 x)
(sqrt.f64 (/.f64 1/9 (pow.f64 x 2)))
(/.f64 1/3 x)
(log.f64 (exp.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/3 x))))
(/.f64 1/3 x)
(cbrt.f64 (/.f64 1/27 (pow.f64 x 3)))
(/.f64 1/3 x)
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(exp.f64 (log.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(/.f64 1/3 x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 1/3 x))) 1/3))
(/.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(/.f64 1/3 x)
(fma.f64 1 (+.f64 1 (/.f64 1/3 x)) -1)
(/.f64 1/3 x)
(fma.f64 (+.f64 1 (/.f64 1/3 x)) 1 -1)
(/.f64 1/3 x)
(fma.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) -1)
(/.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) 2) (cbrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(/.f64 1/3 x)
(fma.f64 (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) (sqrt.f64 (+.f64 1 (/.f64 1/3 x))) -1)
(/.f64 1/3 x)
(fma.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (+.f64 1 (/.f64 (+.f64 -1/3 (/.f64 1/9 x)) x))))
(fma.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (+.f64 1 (/.f64 -1/9 (pow.f64 x 2))) (/.f64 1 (+.f64 1 (/.f64 -1/3 x))) -1)
(+.f64 -1 (/.f64 (+.f64 1 (/.f64 -1/9 (pow.f64 x 2))) (-.f64 1 (/.f64 1/3 x))))
(+.f64 -1 (/.f64 (+.f64 1 (/.f64 -1/9 (pow.f64 x 2))) (+.f64 1 (/.f64 -1/3 x))))
(+.f64 x (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 0 (fma.f64 x (/.f64 1/3 x) x))
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 (*.f64 x (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))) (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 x 1/3))) (cbrt.f64 (exp.f64 (+.f64 x 1/3))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 x 1/3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (+.f64 x 1/3)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x))) 1)
(+.f64 1/3 x)
(+.f64 x 1/3)
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (/.f64 1/3 x)) 3)) (fma.f64 x x (-.f64 (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x))) (*.f64 x (*.f64 x (/.f64 1/3 x))))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (/.f64 1/3 x)) 3)) (fma.f64 x x (*.f64 (*.f64 x (/.f64 1/3 x)) (-.f64 (*.f64 x (/.f64 1/3 x)) x))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x (+.f64 1/9 (*.f64 x -1/3))))
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (-.f64 1/9 (*.f64 x (-.f64 1/3 x))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (/.f64 1/3 x)) (*.f64 x (/.f64 1/3 x)))) (-.f64 x (*.f64 x (/.f64 1/3 x))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) (*.f64 (/.f64 1/3 x) (/.f64 1/3 x)))) (-.f64 x (*.f64 x (/.f64 1/3 x))))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (*.f64 x (fma.f64 (pow.f64 x -3) 1/27 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 x (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 x (+.f64 1 (/.f64 (+.f64 -1/3 (/.f64 1/9 x)) x))))
(/.f64 (+.f64 x (*.f64 1/27 (pow.f64 x -2))) (+.f64 1 (/.f64 (+.f64 -1/3 (/.f64 1/9 x)) x)))
(/.f64 (*.f64 x (-.f64 1 (/.f64 1/9 (pow.f64 x 2)))) (-.f64 1 (/.f64 1/3 x)))
(*.f64 x (/.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) (-.f64 1 (/.f64 1/3 x))))
(*.f64 x (/.f64 (+.f64 1 (/.f64 -1/9 (pow.f64 x 2))) (+.f64 1 (/.f64 -1/3 x))))
(/.f64 (+.f64 x (/.f64 -1/9 x)) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (+.f64 x (/.f64 -1/9 x)) (+.f64 1 (/.f64 -1/3 x)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 x (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 x (+.f64 1 (/.f64 (+.f64 -1/3 (/.f64 1/9 x)) x))))
(/.f64 (+.f64 x (*.f64 1/27 (pow.f64 x -2))) (+.f64 1 (/.f64 (+.f64 -1/3 (/.f64 1/9 x)) x)))
(/.f64 (*.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) x) (-.f64 1 (/.f64 1/3 x)))
(*.f64 x (/.f64 (-.f64 1 (/.f64 1/9 (pow.f64 x 2))) (-.f64 1 (/.f64 1/3 x))))
(*.f64 x (/.f64 (+.f64 1 (/.f64 -1/9 (pow.f64 x 2))) (+.f64 1 (/.f64 -1/3 x))))
(/.f64 (+.f64 x (/.f64 -1/9 x)) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (+.f64 x (/.f64 -1/9 x)) (+.f64 1 (/.f64 -1/3 x)))
(pow.f64 (fma.f64 x (/.f64 1/3 x) x) 1)
(+.f64 1/3 x)
(+.f64 x 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 3)
(+.f64 1/3 x)
(+.f64 x 1/3)
(pow.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3) 1/3)
(+.f64 1/3 x)
(+.f64 x 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x)) 2)
(+.f64 1/3 x)
(+.f64 x 1/3)
(sqrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 2))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log.f64 (exp.f64 (fma.f64 x (/.f64 1/3 x) x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x))))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 x (/.f64 1/3 x)))))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (exp.f64 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log.f64 (*.f64 (exp.f64 (*.f64 x (/.f64 1/3 x))) (+.f64 1 (expm1.f64 x))))
(+.f64 1/3 x)
(+.f64 x 1/3)
(cbrt.f64 (pow.f64 (fma.f64 x (/.f64 1/3 x) x) 3))
(+.f64 1/3 x)
(+.f64 x 1/3)
(expm1.f64 (log1p.f64 (fma.f64 x (/.f64 1/3 x) x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(log1p.f64 (expm1.f64 (fma.f64 x (/.f64 1/3 x) x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 3))
(+.f64 1/3 x)
(+.f64 x 1/3)
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 (/.f64 1/3 x)) (log.f64 x))) 1/3))
(+.f64 1/3 x)
(+.f64 x 1/3)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (/.f64 1/3 x) x))) 2))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 1/3 (*.f64 (/.f64 1 x) x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 1 x (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 1 x (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 1 (*.f64 x (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 x 1 (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 x 1 (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 x (/.f64 1/3 x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (/.f64 1 x) (*.f64 1/3 x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (/.f64 1/3 x) x x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (cbrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 x (/.f64 1/3 x)))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 1) (*.f64 (*.f64 x (/.f64 1/3 x)) 1))
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (/.f64 1/3 x))) (cbrt.f64 (*.f64 x (/.f64 1/3 x)))) (cbrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (sqrt.f64 (*.f64 x (/.f64 1/3 x))) (sqrt.f64 (*.f64 x (/.f64 1/3 x))) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) (*.f64 (sqrt.f64 x) (sqrt.f64 (/.f64 1/3 x))) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 x (/.f64 1 x)) 1/3 x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)
(+.f64 1/3 x)
(+.f64 x 1/3)

eval44.0ms (1.5%)

Compiler

Compiled 1578 to 1120 computations (29% saved)

prune17.0ms (0.6%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1241125
Fresh000
Picked033
Done011
Total1245129
Accuracy
100.0%
Counts
129 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x 1/3)
99.9%
(*.f64 x (+.f64 1 (/.f64 1/3 x)))
99.8%
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
53.9%
x
46.4%
1/3
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize113.0ms (4%)

Localize:

Found 2 expressions with local error:

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

Compiled 20 to 15 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
Operation ival-div, time spent: 7.0ms, 54.0% of total-time
Operation ival-add, time spent: 3.0ms, 23.0% of total-time
Operation ival-mult, time spent: 2.0ms, 15.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

series2.0ms (0.1%)

Counts
2 → 12
Calls
Call 1
Inputs
#<alt (/.f64 1/3 x)>
#<alt (*.f64 x (+.f64 1 (/.f64 1/3 x)))>
Outputs
#<alt 1/3>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt (+.f64 1/3 x)>
#<alt x>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt x>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
#<alt (*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))>
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/ 1/3 x)
0.0ms
x
@-inf
(* x (+ 1 (/ 1/3 x)))
0.0ms
x
@inf
(* x (+ 1 (/ 1/3 x)))
0.0ms
x
@-inf
(/ 1/3 x)
0.0ms
x
@inf
(/ 1/3 x)

rewrite82.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
970×unpow-prod-down
553×log1p-expm1-u
553×expm1-log1p-u
550×prod-diff
526×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01035
111535
2157520
Stop Event
node limit
Counts
2 → 100
Calls
Call 1
Inputs
(/.f64 1/3 x)
(*.f64 x (+.f64 1 (/.f64 1/3 x)))
Outputs
(+.f64 0 (/.f64 1/3 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(-.f64 (+.f64 (/.f64 1/3 x) 1) 1)
(*.f64 1/3 (/.f64 1 x))
(*.f64 (/.f64 1/3 x) 1)
(*.f64 (/.f64 1/3 x) (log.f64 (exp.f64 1)))
(*.f64 1 (/.f64 1/3 x))
(*.f64 (cbrt.f64 (/.f64 1/3 x)) (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (cbrt.f64 (/.f64 1/3 x)))
(*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 (/.f64 1/3 x)))
(*.f64 -1/3 (/.f64 1 (neg.f64 x)))
(*.f64 (/.f64 1 x) 1/3)
(*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (/.f64 (cbrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 x -1/2) (pow.f64 (/.f64 (sqrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 1 1/3) (/.f64 1/3 x))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) 2) 3) (cbrt.f64 (/.f64 1/3 x)))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 x -2) 1/9) 1/3) 1/3) (cbrt.f64 (/.f64 1 x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 1/3 x) (cbrt.f64 (/.f64 1/3 x))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/3 x) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (/.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) -1) (cbrt.f64 (/.f64 1/3 x)))
(pow.f64 (/.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(pow.f64 (*.f64 (pow.f64 x -2) 1/9) 1/2)
(pow.f64 (*.f64 (pow.f64 x -3) 1/27) 1/3)
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(pow.f64 (*.f64 x 3) -1)
(pow.f64 (/.f64 (*.f64 x 3) 1) -1)
(neg.f64 (/.f64 -1/3 x))
(sqrt.f64 (*.f64 (pow.f64 x -2) 1/9))
(log.f64 (exp.f64 (/.f64 1/3 x)))
(cbrt.f64 (*.f64 (pow.f64 x -3) 1/27))
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(exp.f64 (log.f64 (/.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x -3) 1/27)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 x 3)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 1/3 x)) 3) 1/3))
(fma.f64 1 (+.f64 (/.f64 1/3 x) 1) -1)
(fma.f64 (+.f64 (/.f64 1/3 x) 1) 1 -1)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(fma.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 0 (+.f64 1/3 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/3 x))) 1)
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x (-.f64 1/9 (*.f64 x 1/3))))
(/.f64 (fma.f64 x x -1/9) (-.f64 x 1/3))
(/.f64 (*.f64 x (fma.f64 1/27 (pow.f64 x -3) 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 x (-.f64 1 (*.f64 (pow.f64 x -2) 1/9))) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (*.f64 (fma.f64 1/27 (pow.f64 x -3) 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) x) (-.f64 1 (/.f64 1/3 x)))
(pow.f64 (+.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (+.f64 1/3 x)) 3)
(pow.f64 (pow.f64 (+.f64 1/3 x) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 1/3 x) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 1/3 x)) 2)
(sqrt.f64 (pow.f64 (+.f64 1/3 x) 2))
(log.f64 (exp.f64 (+.f64 1/3 x)))
(cbrt.f64 (pow.f64 (+.f64 1/3 x) 3))
(expm1.f64 (log1p.f64 (+.f64 1/3 x)))
(log1p.f64 (expm1.f64 (+.f64 1/3 x)))
(exp.f64 (log.f64 (+.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/3 x))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 1/3 x) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/3 x))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log1p.f64 (/.f64 1/3 x))))
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (*.f64 (log.f64 x) 1)))
(fma.f64 1/3 1 x)
(fma.f64 x (/.f64 1/3 x) x)
(fma.f64 x 1 1/3)
(fma.f64 (/.f64 1/3 x) x x)
(fma.f64 1 1/3 x)
(fma.f64 1 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (pow.f64 (cbrt.f64 1/3) 2) (cbrt.f64 1/3) x)
(fma.f64 (sqrt.f64 1/3) (sqrt.f64 1/3) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)

simplify89.0ms (3.1%)

Algorithm
egg-herbie
Rules
852×fma-define
674×fma-neg
550×distribute-lft-neg-in
534×distribute-lft-in
524×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02491828
14971819
212751775
347041775
Stop Event
node limit
Counts
112 → 135
Calls
Call 1
Inputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 0 (/.f64 1/3 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(-.f64 (+.f64 (/.f64 1/3 x) 1) 1)
(*.f64 1/3 (/.f64 1 x))
(*.f64 (/.f64 1/3 x) 1)
(*.f64 (/.f64 1/3 x) (log.f64 (exp.f64 1)))
(*.f64 1 (/.f64 1/3 x))
(*.f64 (cbrt.f64 (/.f64 1/3 x)) (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (cbrt.f64 (/.f64 1/3 x)))
(*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 (/.f64 1/3 x)))
(*.f64 -1/3 (/.f64 1 (neg.f64 x)))
(*.f64 (/.f64 1 x) 1/3)
(*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (/.f64 (cbrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 x -1/2) (pow.f64 (/.f64 (sqrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 1 1/3) (/.f64 1/3 x))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) 2) 3) (cbrt.f64 (/.f64 1/3 x)))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 x -2) 1/9) 1/3) 1/3) (cbrt.f64 (/.f64 1 x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 1/3 x) (cbrt.f64 (/.f64 1/3 x))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/3 x) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (/.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) -1) (cbrt.f64 (/.f64 1/3 x)))
(pow.f64 (/.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(pow.f64 (*.f64 (pow.f64 x -2) 1/9) 1/2)
(pow.f64 (*.f64 (pow.f64 x -3) 1/27) 1/3)
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(pow.f64 (*.f64 x 3) -1)
(pow.f64 (/.f64 (*.f64 x 3) 1) -1)
(neg.f64 (/.f64 -1/3 x))
(sqrt.f64 (*.f64 (pow.f64 x -2) 1/9))
(log.f64 (exp.f64 (/.f64 1/3 x)))
(cbrt.f64 (*.f64 (pow.f64 x -3) 1/27))
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(exp.f64 (log.f64 (/.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x -3) 1/27)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 x 3)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 1/3 x)) 3) 1/3))
(fma.f64 1 (+.f64 (/.f64 1/3 x) 1) -1)
(fma.f64 (+.f64 (/.f64 1/3 x) 1) 1 -1)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(fma.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 0 (+.f64 1/3 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/3 x))) 1)
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x (-.f64 1/9 (*.f64 x 1/3))))
(/.f64 (fma.f64 x x -1/9) (-.f64 x 1/3))
(/.f64 (*.f64 x (fma.f64 1/27 (pow.f64 x -3) 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 x (-.f64 1 (*.f64 (pow.f64 x -2) 1/9))) (-.f64 1 (/.f64 1/3 x)))
(/.f64 (*.f64 (fma.f64 1/27 (pow.f64 x -3) 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) x) (-.f64 1 (/.f64 1/3 x)))
(pow.f64 (+.f64 1/3 x) 1)
(pow.f64 (cbrt.f64 (+.f64 1/3 x)) 3)
(pow.f64 (pow.f64 (+.f64 1/3 x) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 1/3 x) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 1/3 x)) 2)
(sqrt.f64 (pow.f64 (+.f64 1/3 x) 2))
(log.f64 (exp.f64 (+.f64 1/3 x)))
(cbrt.f64 (pow.f64 (+.f64 1/3 x) 3))
(expm1.f64 (log1p.f64 (+.f64 1/3 x)))
(log1p.f64 (expm1.f64 (+.f64 1/3 x)))
(exp.f64 (log.f64 (+.f64 1/3 x)))
(exp.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/3 x))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 1/3 x) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/3 x))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log1p.f64 (/.f64 1/3 x))))
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (*.f64 (log.f64 x) 1)))
(fma.f64 1/3 1 x)
(fma.f64 x (/.f64 1/3 x) x)
(fma.f64 x 1 1/3)
(fma.f64 (/.f64 1/3 x) x x)
(fma.f64 1 1/3 x)
(fma.f64 1 x 1/3)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) 1/3)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) 1/3)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(fma.f64 (pow.f64 (cbrt.f64 1/3) 2) (cbrt.f64 1/3) x)
(fma.f64 (sqrt.f64 1/3) (sqrt.f64 1/3) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)
Outputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
x
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
(+.f64 1/3 x)
(+.f64 0 (/.f64 1/3 x))
(/.f64 1/3 x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1/3 x)))))
(-.f64 (+.f64 (/.f64 1/3 x) 1) 1)
(/.f64 1/3 x)
(*.f64 1/3 (/.f64 1 x))
(/.f64 1/3 x)
(*.f64 (/.f64 1/3 x) 1)
(/.f64 1/3 x)
(*.f64 (/.f64 1/3 x) (log.f64 (exp.f64 1)))
(/.f64 1/3 x)
(*.f64 1 (/.f64 1/3 x))
(/.f64 1/3 x)
(*.f64 (cbrt.f64 (/.f64 1/3 x)) (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2))
(/.f64 1/3 x)
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (cbrt.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(*.f64 (sqrt.f64 (/.f64 1/3 x)) (sqrt.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(*.f64 -1/3 (/.f64 1 (neg.f64 x)))
(/.f64 1/3 x)
(*.f64 (/.f64 1 x) 1/3)
(/.f64 1/3 x)
(*.f64 (pow.f64 (cbrt.f64 x) -2) (pow.f64 (/.f64 (cbrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 (cbrt.f64 x) -2) (/.f64 1 (/.f64 (cbrt.f64 x) 1/3)))
(*.f64 (pow.f64 (cbrt.f64 x) -2) (*.f64 (/.f64 1 (cbrt.f64 x)) 1/3))
(*.f64 (pow.f64 (cbrt.f64 x) -2) (/.f64 1/3 (cbrt.f64 x)))
(*.f64 (pow.f64 x -1/2) (pow.f64 (/.f64 (sqrt.f64 x) 1/3) -1))
(*.f64 (pow.f64 x -1/2) (/.f64 1 (/.f64 (sqrt.f64 x) 1/3)))
(/.f64 (*.f64 (pow.f64 x -1/2) 1) (*.f64 (sqrt.f64 x) 3))
(*.f64 (pow.f64 x -1/2) (/.f64 1/3 (sqrt.f64 x)))
(*.f64 (pow.f64 1 1/3) (/.f64 1/3 x))
(/.f64 1/3 x)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(/.f64 1/3 x)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) 2) 3) (cbrt.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 x -2) 1/9) 1/3) 1/3) (cbrt.f64 (/.f64 1 x)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 x -2) 1/27)) (cbrt.f64 (/.f64 1 x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 1/3 x) (cbrt.f64 (/.f64 1/3 x))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 1/3 x) (cbrt.f64 (/.f64 1/3 x))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/3 x))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 8)))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/3 x) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (/.f64 1/3 x))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1/3 x) 5/2)) (cbrt.f64 (sqrt.f64 (/.f64 1/3 x))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) -1) (cbrt.f64 (/.f64 1/3 x)))
(*.f64 (cbrt.f64 (/.f64 1/3 x)) (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 1/3 x)) 1) (pow.f64 (cbrt.f64 (*.f64 x 3)) 2))
(/.f64 (cbrt.f64 (/.f64 1/3 x)) (pow.f64 (cbrt.f64 (*.f64 x 3)) 2))
(pow.f64 (/.f64 1/3 x) 1)
(/.f64 1/3 x)
(pow.f64 (cbrt.f64 (/.f64 1/3 x)) 3)
(/.f64 1/3 x)
(pow.f64 (*.f64 (pow.f64 x -2) 1/9) 1/2)
(sqrt.f64 (*.f64 (pow.f64 x -2) 1/9))
(pow.f64 (*.f64 (pow.f64 x -3) 1/27) 1/3)
(cbrt.f64 (*.f64 (pow.f64 x -3) 1/27))
(pow.f64 (sqrt.f64 (/.f64 1/3 x)) 2)
(/.f64 1/3 x)
(pow.f64 (*.f64 x 3) -1)
(/.f64 1/3 x)
(pow.f64 (/.f64 (*.f64 x 3) 1) -1)
(/.f64 1/3 x)
(neg.f64 (/.f64 -1/3 x))
(/.f64 1/3 x)
(sqrt.f64 (*.f64 (pow.f64 x -2) 1/9))
(log.f64 (exp.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(cbrt.f64 (*.f64 (pow.f64 x -3) 1/27))
(expm1.f64 (log1p.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(log1p.f64 (expm1.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(exp.f64 (log.f64 (/.f64 1/3 x)))
(/.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/3 x))) 3))
(/.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x -3) 1/27)) 1/3))
(cbrt.f64 (*.f64 (pow.f64 x -3) 1/27))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/3 x))) 2))
(/.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (*.f64 x 3)) -1))
(/.f64 1/3 x)
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 1/3 x)) 3) 1/3))
(/.f64 1/3 x)
(fma.f64 1 (+.f64 (/.f64 1/3 x) 1) -1)
(/.f64 1/3 x)
(fma.f64 (+.f64 (/.f64 1/3 x) 1) 1 -1)
(/.f64 1/3 x)
(fma.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) -1)
(/.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) 2) (cbrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(/.f64 1/3 x)
(fma.f64 (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) (sqrt.f64 (+.f64 (/.f64 1/3 x) 1)) -1)
(/.f64 1/3 x)
(fma.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1)) -1)
(fma.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)) -1)
(fma.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (/.f64 1 (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (fma.f64 1/3 (/.f64 (+.f64 (/.f64 1/3 x) -1) x) 1)))
(fma.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(fma.f64 (+.f64 1 (*.f64 (pow.f64 x -2) -1/9)) (/.f64 1 (-.f64 1 (/.f64 1/3 x))) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 x -2) -1/9 1) (+.f64 1 (/.f64 -1/3 x))))
(+.f64 1/3 x)
(+.f64 x 1/3)
(+.f64 1/3 x)
(+.f64 0 (+.f64 1/3 x))
(+.f64 1/3 x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 1/3 x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (+.f64 1/3 x)))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/3 x))) 1)
(+.f64 1/3 x)
(/.f64 (+.f64 (pow.f64 x 3) 1/27) (fma.f64 x x (-.f64 1/9 (*.f64 x 1/3))))
(/.f64 (+.f64 1/27 (pow.f64 x 3)) (fma.f64 x x (-.f64 1/9 (*.f64 1/3 x))))
(/.f64 (+.f64 1/27 (pow.f64 x 3)) (fma.f64 x x (+.f64 1/9 (*.f64 x -1/3))))
(/.f64 (+.f64 1/27 (pow.f64 x 3)) (fma.f64 x x (fma.f64 x -1/3 1/9)))
(/.f64 (fma.f64 x x -1/9) (-.f64 x 1/3))
(/.f64 (fma.f64 x x -1/9) (+.f64 x -1/3))
(/.f64 (*.f64 x (fma.f64 1/27 (pow.f64 x -3) 1)) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(*.f64 x (/.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (fma.f64 1/3 (/.f64 (+.f64 (/.f64 1/3 x) -1) x) 1)))
(/.f64 (*.f64 x (-.f64 1 (*.f64 (pow.f64 x -2) 1/9))) (-.f64 1 (/.f64 1/3 x)))
(*.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) (/.f64 x (-.f64 1 (/.f64 1/3 x))))
(*.f64 (+.f64 1 (*.f64 (pow.f64 x -2) -1/9)) (/.f64 x (-.f64 1 (/.f64 1/3 x))))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -2) -1/9 1) (+.f64 1 (/.f64 -1/3 x))))
(/.f64 (*.f64 (fma.f64 1/27 (pow.f64 x -3) 1) x) (fma.f64 (/.f64 1/3 x) (-.f64 (/.f64 1/3 x) 1) 1))
(*.f64 x (/.f64 (fma.f64 1/27 (pow.f64 x -3) 1) (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (fma.f64 (/.f64 1/3 x) (+.f64 (/.f64 1/3 x) -1) 1)))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -3) 1/27 1) (fma.f64 1/3 (/.f64 (+.f64 (/.f64 1/3 x) -1) x) 1)))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) x) (-.f64 1 (/.f64 1/3 x)))
(*.f64 (-.f64 1 (*.f64 (pow.f64 x -2) 1/9)) (/.f64 x (-.f64 1 (/.f64 1/3 x))))
(*.f64 (+.f64 1 (*.f64 (pow.f64 x -2) -1/9)) (/.f64 x (-.f64 1 (/.f64 1/3 x))))
(*.f64 x (/.f64 (fma.f64 (pow.f64 x -2) -1/9 1) (+.f64 1 (/.f64 -1/3 x))))
(pow.f64 (+.f64 1/3 x) 1)
(+.f64 1/3 x)
(pow.f64 (cbrt.f64 (+.f64 1/3 x)) 3)
(+.f64 1/3 x)
(pow.f64 (pow.f64 (+.f64 1/3 x) 2) 1/2)
(+.f64 1/3 x)
(pow.f64 (pow.f64 (+.f64 1/3 x) 3) 1/3)
(+.f64 1/3 x)
(pow.f64 (sqrt.f64 (+.f64 1/3 x)) 2)
(+.f64 1/3 x)
(sqrt.f64 (pow.f64 (+.f64 1/3 x) 2))
(+.f64 1/3 x)
(log.f64 (exp.f64 (+.f64 1/3 x)))
(+.f64 1/3 x)
(cbrt.f64 (pow.f64 (+.f64 1/3 x) 3))
(+.f64 1/3 x)
(expm1.f64 (log1p.f64 (+.f64 1/3 x)))
(+.f64 1/3 x)
(log1p.f64 (expm1.f64 (+.f64 1/3 x)))
(+.f64 1/3 x)
(exp.f64 (log.f64 (+.f64 1/3 x)))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/3 x))) 3))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 1/3 x) 3)) 1/3))
(+.f64 1/3 x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/3 x))) 2))
(+.f64 1/3 x)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/3 x)) 1) 1))
(+.f64 1/3 x)
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log1p.f64 (/.f64 1/3 x))))
(+.f64 1/3 x)
(exp.f64 (+.f64 (log1p.f64 (/.f64 1/3 x)) (*.f64 (log.f64 x) 1)))
(+.f64 1/3 x)
(fma.f64 1/3 1 x)
(+.f64 1/3 x)
(fma.f64 x (/.f64 1/3 x) x)
(+.f64 1/3 x)
(fma.f64 x 1 1/3)
(+.f64 1/3 x)
(fma.f64 (/.f64 1/3 x) x x)
(+.f64 1/3 x)
(fma.f64 1 1/3 x)
(+.f64 1/3 x)
(fma.f64 1 x 1/3)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2) (*.f64 (cbrt.f64 (/.f64 1/3 x)) x) x)
(+.f64 1/3 x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 1/3)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 1/3)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1) 1/3)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 (/.f64 1/3 x)) (*.f64 (sqrt.f64 (/.f64 1/3 x)) x) x)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 1/3)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1) 1/3)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(fma.f64 (pow.f64 (cbrt.f64 1/3) 2) (cbrt.f64 1/3) x)
(+.f64 1/3 x)
(fma.f64 (sqrt.f64 1/3) (sqrt.f64 1/3) x)
(+.f64 1/3 x)
(fma.f64 (*.f64 (/.f64 1/3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(+.f64 1/3 x)
(fma.f64 (*.f64 (/.f64 1/3 x) (sqrt.f64 x)) (sqrt.f64 x) x)
(+.f64 1/3 x)
(fma.f64 (*.f64 x 1/3) (/.f64 1 x) x)
(+.f64 1/3 x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (/.f64 1/3 x)) 2)) (cbrt.f64 (/.f64 1/3 x)) x)
(+.f64 1/3 x)
(fma.f64 (*.f64 x (sqrt.f64 (/.f64 1/3 x))) (sqrt.f64 (/.f64 1/3 x)) x)
(+.f64 1/3 x)

eval51.0ms (1.8%)

Compiler

Compiled 1593 to 1237 computations (22.3% saved)

prune20.0ms (0.7%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New1350135
Fresh000
Picked011
Done044
Total1355140
Accuracy
100.0%
Counts
140 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x 1/3)
99.9%
(*.f64 x (+.f64 1 (/.f64 1/3 x)))
99.8%
(*.f64 x (+.f64 1 (*.f64 1/3 (/.f64 1 x))))
53.9%
x
46.4%
1/3
Compiler

Compiled 53 to 40 computations (24.5% saved)

regimes9.0ms (0.3%)

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

2 calls:

4.0ms
(+.f64 x (/.f64 1 3))
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(+.f64 x (/.f64 1 3))
Compiler

Compiled 8 to 6 computations (25% saved)

regimes8.0ms (0.3%)

Counts
2 → 3
Calls
Call 1
Inputs
1/3
x
Outputs
x
1/3
x
Calls

1 calls:

8.0ms
x
Results
AccuracySegmentsBranch
96.8%3x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes2.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
1/3
Outputs
1/3
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
46.4%1x
Compiler

Compiled 2 to 1 computations (50% saved)

bsearch75.0ms (2.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
63.0ms
0.10345688011744117
181846.35878017108
12.0ms
-0.9801705651904438
-0.01129349946108745
Results
70.0ms255×256valid
0.0ms256valid
Compiler

Compiled 106 to 88 computations (17% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Operation ival-div, time spent: 2.0ms, 44.0% of total-time
Operation ival-add, time spent: 2.0ms, 44.0% of total-time
Operation const, time spent: 1.0ms, 22.0% of total-time

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
if-if-or-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
12244
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 x 1/3)
(if (<=.f64 x -6124895493223875/18014398509481984) x (if (<=.f64 x 5944751508129055/18014398509481984) 1/3 x))
1/3
Outputs
(+.f64 x 1/3)
(if (<=.f64 x -6124895493223875/18014398509481984) x (if (<=.f64 x 5944751508129055/18014398509481984) 1/3 x))
1/3
Compiler

Compiled 18 to 13 computations (27.8% saved)

soundness19.0ms (0.7%)

Rules
58×fma-neg
24×fma-define
18×distribute-lft-neg-in
16×associate--r+
16×sub-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01452
13040
25440
39540
413540
516340
617340
718140
818640
918740
Stop Event
saturated
Compiler

Compiled 9 to 7 computations (22.2% saved)

end0.0ms (0%)

preprocess30.0ms (1.1%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

Profiling

Loading profile data...