Details

Time bar (total: 10.1s)

analyze2.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%50%0%0%50%0%2
50%25%25%0%0%50%0%3
66.7%25%12.5%0%0%62.5%0%4
80%25%6.2%0%0%68.7%0%5
88.9%25%3.1%0%0%71.8%0%6
94.1%25%1.6%0%0%73.4%0%7
97%25%0.8%0%0%74.2%0%8
98.5%25%0.4%0%0%74.6%0%9
99.2%25%0.2%0%0%74.8%0%10
99.6%25%0.1%0%0%74.9%0%11
99.8%25%0%0%0%74.9%0%12
Compiler

Compiled 8 to 5 computations (37.5% saved)

sample977.0ms (9.7%)

Results
964.0ms8256×body256valid
1.0ms15×body256invalid
Bogosity

preprocess3.7s (36.7%)

Algorithm
egglog
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Outputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Compiler

Compiled 8 to 5 computations (37.5% saved)

simplify1.7s (16.7%)

Algorithm
egglog
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Outputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))

eval1.0ms (0%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Compiler

Compiled 7 to 4 computations (42.9% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (log.f64 x))
0.3b
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Compiler

Compiled 13 to 4 computations (69.2% saved)

series187.0ms (1.9%)

Counts
2 → 4
Calls

6 calls:

TimeVariablePointExpression
68.0ms
x
@0
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
64.0ms
x
@-inf
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
41.0ms
x
@inf
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
0.0ms
x
@0
(log.f64 (log.f64 x))
0.0ms
x
@inf
(log.f64 (log.f64 x))
Compiler

Compiled 1030 to 910 computations (11.7% saved)

rewrite1.7s (17.2%)

Algorithm
batch-egg-rewrite
Rules
62×egg-rr
38×egg-rr
Counts
2 → 100
Calls
Call 1
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(log.f64 (log.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (+.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (*.f64 0 (cbrt.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)))))) (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (*.f64 0 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (+.f64 0 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (log.f64 x) 2)) (-.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (*.f64 (cbrt.f64 (log.f64 x)) (neg.f64 (cbrt.f64 (log.f64 (log.f64 x))))))) (-.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (-.f64 (cbrt.f64 (pow.f64 (log.f64 x) 2)) (*.f64 (neg.f64 (cbrt.f64 (log.f64 (log.f64 x)))) (cbrt.f64 (log.f64 x))))) (+.f64 (neg.f64 (cbrt.f64 (log.f64 (log.f64 x)))) (cbrt.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (log.f64 x) 2)) (*.f64 (cbrt.f64 (log.f64 (log.f64 x))) (+.f64 (cbrt.f64 (log.f64 (log.f64 x))) (cbrt.f64 (log.f64 x))))) (-.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2))) (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) 2)) (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))) (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (log.f64 (log.f64 x))) (neg.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (log.f64 x))) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2))) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (log.f64 (log.f64 x)) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (log.f64 (log.f64 x)))) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (log.f64 (log.f64 x))) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 (pow.f64 (log.f64 x) 2)) (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (log.f64 x) 2)) (cbrt.f64 (log.f64 x)) (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 x) (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 x) 1 (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 x) 0) (*.f64 (log.f64 x) (-.f64 1 (/.f64 (log.f64 (log.f64 x)) (log.f64 x)))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)) 0) (/.f64 (neg.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (-.f64 (log.f64 (log.f64 x)) (log.f64 x))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (log.f64 (log.f64 x))) 0) (*.f64 (neg.f64 (log.f64 (log.f64 x))) (+.f64 1 (neg.f64 (/.f64 (log.f64 x) (log.f64 (log.f64 x)))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (log.f64 (log.f64 x)) (log.f64 x)) 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 0) (/.f64 1 (/.f64 1 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (+.f64 0 (-.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2) (*.f64 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (*.f64 0 (+.f64 1 (/.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 0))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 (log.f64 x)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (fma.f64 (log.f64 (log.f64 x)) (+.f64 (log.f64 x) (log.f64 (log.f64 x))) (pow.f64 (log.f64 x) 2))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (log.f64 x)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 (pow.f64 (log.f64 x) 2) (*.f64 (neg.f64 (log.f64 (log.f64 x))) (neg.f64 (log.f64 x)))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 0 (-.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2) (*.f64 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x)))))) 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (+.f64 0 (-.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2) (*.f64 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 (pow.f64 (log.f64 x) 2) (*.f64 (neg.f64 (log.f64 (log.f64 x))) (neg.f64 (log.f64 x))))) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 (pow.f64 (log.f64 x) 2) (*.f64 (neg.f64 (log.f64 (log.f64 x))) (neg.f64 (log.f64 x)))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (+.f64 0 (-.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2) (*.f64 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 x) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (fma.f64 (log.f64 (log.f64 x)) (+.f64 (log.f64 x) (log.f64 (log.f64 x))) (pow.f64 (log.f64 x) 2))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (log.f64 (log.f64 x))) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 (pow.f64 (log.f64 x) 2) (*.f64 (neg.f64 (log.f64 (log.f64 x))) (neg.f64 (log.f64 x)))))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 1 0) (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2) 0) (/.f64 (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 3) (pow.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 2)) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (log.f64 x) (log.f64 (log.f64 x))) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (log.f64 x)) 2)) (+.f64 (log.f64 x) (log.f64 (log.f64 x)))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (log.f64 (log.f64 x)) (+.f64 (log.f64 x) (log.f64 (log.f64 x))) (pow.f64 (log.f64 x) 2)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (fma.f64 (log.f64 (log.f64 x)) (+.f64 (log.f64 x) (log.f64 (log.f64 x))) (pow.f64 (log.f64 x) 2))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (log.f64 (log.f64 x))) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (log.f64 x)) 3)) (fma.f64 (log.f64 (log.f64 x)) (+.f64 (log.f64 x) (log.f64 (log.f64 x))) (pow.f64 (log.f64 x) 2))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (log.f64 (log.f64 x))) (log.f64 x)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (log.f64 x)) 2)) (+.f64 (log.f64 x) (log.f64 (log.f64 x)))) (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 (log.f64 x))) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 x) (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log.f64 x) (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 x) (log.f64 (log.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 (log.f64 (log.f64 x))) 0) (log.f64 x))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (log.f64 (log.f64 x)))) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x)))) 2) (*.f64 (cbrt.f64 (*.f64 (log.f64 (log.f64 x)) (cbrt.f64 (log.f64 (log.f64 x))))) (cbrt.f64 (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x)))) 2) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log.f64 (log.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x)))) 2)) (cbrt.f64 (*.f64 (log.f64 (log.f64 x)) (cbrt.f64 (log.f64 (log.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (log.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (log.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (cbrt.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (log.f64 x))) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (+.f64 0 (*.f64 (cbrt.f64 (log.f64 (log.f64 x))) 0))) (-.f64 (cbrt.f64 (log.f64 (log.f64 x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) 0)) (+.f64 0 (cbrt.f64 (log.f64 (log.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 (log.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (log.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (/.f64 1 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (log.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (log.f64 (log.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (log.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (log.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (log.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (log.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 (log.f64 x)) 0) (/.f64 1 (/.f64 1 (log.f64 (log.f64 x)))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (+.f64 0 (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 0 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 2) 0))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 (log.f64 x)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 2) 0) (log.f64 (log.f64 x))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (log.f64 (log.f64 x))) 0) (/.f64 (neg.f64 (pow.f64 (log.f64 (log.f64 x)) 2)) (neg.f64 (log.f64 (log.f64 x)))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (*.f64 0 (+.f64 1 (/.f64 (log.f64 (log.f64 x)) 0))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 3) 0) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 0 (*.f64 (log.f64 (log.f64 x)) 0)))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 0 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 2) 0)) 0) (/.f64 (+.f64 0 (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 0 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 2) 0))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 0 (*.f64 (log.f64 (log.f64 x)) 0))) 0) (/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 3) 0) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 0 (*.f64 (log.f64 (log.f64 x)) 0)))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 (log.f64 x)) 0) (/.f64 (+.f64 0 (pow.f64 (log.f64 (log.f64 x)) 3)) (+.f64 0 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 2) 0))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (log.f64 (log.f64 x)) 0) (/.f64 (-.f64 (pow.f64 (log.f64 (log.f64 x)) 3) 0) (+.f64 (pow.f64 (log.f64 (log.f64 x)) 2) (+.f64 0 (*.f64 (log.f64 (log.f64 x)) 0)))) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 1 0) (log.f64 (log.f64 x)) (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (log.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (log.f64 x)) (*.f64 -1 0))))))

simplify1.8s (17.7%)

Algorithm
egglog

end0.0ms (0%)

Profiling

Loading profile data...