Details

Time bar (total: 2.2s)

analyze263.0ms (11.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
13%12.5%83.4%0.2%3.9%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.3s (57.8%)

Results
1.1s8256×body256valid
192.0ms2013×body256infinite
Bogosity

preprocess15.0ms (0.7%)

Algorithm
egg-herbie
Rules
12×rational_best-simplify-2
12×rational_best-simplify-1
swap-z-t
swap-x-y
trig-simplify-13
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023133
132133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
2
Call 2
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 x y) (*.f64 t z))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 x y) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify17.0ms (0.7%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11219
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series4.0ms (0.2%)

Counts
1 → 48
Calls

12 calls:

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

rewrite93.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
992×rational_best-simplify-57
756×rational_best-simplify-80
644×rational_best-simplify-43
594×rational_best-simplify-44
522×rational_best-simplify-78
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17719
226119
3110419
4492119
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))))))

simplify143.0ms (6.4%)

Algorithm
egg-herbie
Rules
1210×rational_best-simplify-2
1120×rational_best-simplify-80
1016×rational_best-simplify-78
602×rational_best-simplify-49
584×rational_best-simplify-82
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0551186
11011186
24831186
321821186
445361186
Stop Event
node limit
Counts
70 → 25
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(-.f64 0 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (/.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(/.f64 (*.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))) 2) -2)
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(neg.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 0 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))) 2) -2)
(+.f64 (*.f64 y x) (*.f64 t z))
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(neg.f64 (neg.f64 (+.f64 (*.f64 x y) (*.f64 z t))))
(+.f64 (*.f64 y x) (*.f64 t z))

eval3.0ms (0.1%)

Compiler

Compiled 533 to 76 computations (85.7% saved)

prune7.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New23225
Fresh000
Picked011
Done000
Total23326
Error
0.0b
Counts
26 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
30.9b
(*.f64 y x)
29.9b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

localize4.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize4.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
30.9b
(*.f64 y x)
29.9b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

regimes27.0ms (1.2%)

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

7 calls:

7.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
3.0ms
y
3.0ms
x
3.0ms
t
3.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
Compiler

Compiled 62 to 42 computations (32.3% saved)

regimes142.0ms (6.3%)

Accuracy

Total -42.8b remaining (-251.2%)

Threshold costs -42.8b (-251.2%)

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

4 calls:

102.0ms
x
13.0ms
z
13.0ms
t
12.0ms
y
Results
ErrorSegmentsBranch
18.5b5x
17.1b3y
17.2b5z
17.0b5t
Compiler

Compiled 30 to 22 computations (26.7% saved)

bsearch185.0ms (8.2%)

Algorithm
binary-search
Steps
TimeLeftRight
149.0ms
2.436175585257903e+40
2.4055033824436136e+42
11.0ms
3.4119934269139895e+23
5.822629564368402e+24
8.0ms
1.0696457535621875e-42
2.6250377542733502e-42
17.0ms
-6.416091006551142e-134
-4.538429411822155e-146
Results
179.0ms464×body256valid
1.0msbody256infinite
Compiler

Compiled 482 to 361 computations (25.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02697
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 t -1636695303948071/25573364124188608359478044506465618376692515984711443667838213813251045284411519960025547596296126227741302219746563054759509816764729633229129121792) (*.f64 t z) (if (<=.f64 t 8474087342772019/6277101735386680763835789423207666416102355444464034512896) (*.f64 y x) (if (<=.f64 t 1350000000000000004194304) (*.f64 t z) (if (<=.f64 t 30000000000000002120283904895640175378432) (*.f64 y x) (*.f64 t z)))))
(*.f64 t z)
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 t -1636695303948071/25573364124188608359478044506465618376692515984711443667838213813251045284411519960025547596296126227741302219746563054759509816764729633229129121792) (*.f64 t z) (if (<=.f64 t 8474087342772019/6277101735386680763835789423207666416102355444464034512896) (*.f64 y x) (if (<=.f64 t 1350000000000000004194304) (*.f64 t z) (if (<=.f64 t 30000000000000002120283904895640175378432) (*.f64 y x) (*.f64 t z)))))
(*.f64 t z)
Compiler

Compiled 53 to 30 computations (43.4% saved)

soundness0.0ms (0%)

end28.0ms (1.2%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 89 to 49 computations (44.9% saved)

Profiling

Loading profile data...